Pēdējā laikā (visa pasaule to zin jau gadiem) esmu nācis pie atziņas, ka nav vērts censties, pūlēties un mēģināt jau sākotnēji ar JavaScript palīdzību noteikt lietotāja pārlūku. T.s. browser sniffing manuprāt jau sen vairs nav ērts, vienkāršs un pieņemams veids, kā dažādu skriptu iebarošanu dažādiem pārlūkiem. Agrāk (sen, sen atpakaļ) pietika pārbaudīt, vai pārlūks atbalsta document.all
kolekciju. Ja ne, tad tas ir Netscape. Pretējā gadījumā - IE. Nāca Gecko, kuram nebija document.all
, bet bija (arī IE esoša) document.getElementById
metode un Opera, kurai ir gan viens, gan otrs, un, lai jamo atpazītu, viena no metodēm ir mēģināt izgrebt ar ko līdzīgu navigator.userAgent.toLowerCase().indexOf("opera")
vai jaunākām versijām - window.opera
.
Un pārlūki tik nāks un mainīsies.
Daudz prātīgāk ir nepieciešamo koda gabalu pārbaudīt pēc atbalstāmajām tehnoloģijām. Piemēram, ja mums ir jāizmanto teksta iezīmēšana, tad mēs pārbaudam, nevis, vai pārlūks ir IE vai Mozilla, bet gan to, vai pārlūks atbalsta vienu, vai otru šīs iespējas implementāciju. Konkrēts piemērs:
if (document.selection) {
// Microsoft
} else if (object.setSelectionRange) {
// DOM
} else {
// Viskascic
}