Browser sniffing
Uit Wikipedia, de vrije encyclopedia
Browser sniffing is het bepalen van de gebruikte webbrowser en een aantal andere eigenschappen, zoals schermgrootte, in een webpagina. Dit is soms nodig omdat de verschillende webbrowsers anders omgaan met stijl en lay-out en interactieve elementen in de HTML-code. In principe zou elke browser zich moeten houden aan de W3C-specificaties, maar in de praktijk voldoet geen enkele browser daar 100% aan.
Het gebruik van alleen de useragent geeft onvoldoende en onpraktische informatie. Daarom worden er aanvullende tests uitgevoerd, meestal op de capaciteiten van JavaScript. Een bekend voorbeeld is een browser capability test, waarmee bijvoorbeeld gedetecteerd kan worden of de huidige browser Internet Explorer is:
var isIE;
if (document.all) {
// Browser is een versie van Internet Explorer
isIE = true;
} else {
// Browser is géén Internet Explorer
isIE = false;
}
Het resultaat van browser sniffing is een aantal variabelen, waarvan elk een verschillend aspect van de gebruikte browser representeert. Veelgebruikte variabelen zijn bijvoorbeeld:
- isIE (geeft aan of de browser een versie van Internet Explorer is)
- isNN (geeft aan of de browser een versie van Netscape Navigator is)
- iMainVersion (hoofdversie van de browser)
De conclusie van een aantal tests kan dan zijn dat de gebruikte browser bijvoorbeeld Internet Explorer-versie 5 is of Netscape-versie 6. Als dat bekend is, kan de gebruiker een pagina worden voorgeschoteld die aangepast is aan de mogelijkheden van de browser. Vaak wordt de gebruiker dan doorverwezen naar een andere, speciaal voor die browser gemaakte, pagina.
Er is een groot aantal scripts voor browser sniffing op het internet te vinden.