Detektere Adobes programtillegg for SVG i Internet Explorer
Publisert: Lørdag 2005-11-26.
Når jeg gjorde om logotypen min i SVG ønsket jeg selvfølgelig at så mange som mulig skal se den i dette formatet. Tidligere brukte jeg en gjennomsiktelig PNG-bilde som logotype, noe Internet Explorer har grave problemer med. Siden jeg (dessverre) har flere besøkere som bruker Internet Explorer implementerte jeg en hack for å gå rundt begrensningene i denne vevleseren, jeg skrev et skript som skrev om HTML-koden på siden slik at IE klarte å vise det gjennomsiktelige bildet.
Problemet jeg nå hadde var at etter at jeg lagt inn støtte for SVG så ble koden fortsatt omskrevet, og IE fikk ikke den nye logotypen. Jeg tenkte da at jeg måtte slå av koden hvis Adobes programtillegg for SVG er installert, men alle de eksempler jeg fant på veven brukte et VBScript-hack som ga problemer når jeg prøvde å legge det inn i rammeverket mitt. Etter å ha fundert litt klarte jeg dog å komme opp med en enkel og elegant løsning:
var p;
try {
p = new ActiveXObject("Adobe.SVGCtl");
}
catch (e) {
document.write("<p>Programtillegg for SVG har ikke blitt installert (eller så bruker du ikke IE).</p>");
}
if (p)
{
document.write("<p>Programtillegg for SVG har blitt installert.</p>");
}
Det fungerte fint, og nå får også IE-brukere SVG-versjonen av logotypen min hvis programtillegget er installert. Dette er hva skriptet sier om vevleseren din:
Kategorier: Internett, programvare. Del: Facebook, Google+, e-post
