Atpakaļ uz pirmo lapu

laacz » 2004 » 27. jūlijs

Browser sniffing (JS)

14:44 @ 2004-07-27 = 3 blabla  

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
}

1 wes @ 15:34 (2004. gada 27. jūlijs)

Tas var noderēt. Bet es pārsvarā dokumentus rakstu pēc W3 standarta + vēl lai uz IE, Mozilla un Opera viss korekti strādā. Dažkārt IE kautko 'pārprot', tad nākas nedaudz palocīties, bet vispār nav nācies rakstīt kautko speciāli Microsoft 'jaukajām' tehnoloģijām. Ieteikums tik un tā labs!

2 Neonz @ 15:54 (2004. gada 27. jūlijs)

ahhh, nu pareizi. Jebkura pieeja, kas ir balstīta uz programmprodukta nevis fīčas pārbaudi, ir nepareiza. Dēļ šādām nepareizām pārbaudēm mēs arī nonākam pie lielākās daļas nesavietojamības problēmu. (un es šajā gadījumā nerunāju par mājaslapām, bet par programmatūru kā tādu)

3 CooLynX @ 15:26 (2004. gada 29. jūlijs)

Es par laimi neko pārāk sarežģītu neesmu rakstījis un man ir pieticis ar document.getElementById un esmu laimīgs. ;)

Kā tu saucies:
Tava e-pasta adresīte:
(nevienam netiks rādīta, vai dota; pat pie komentāra ne)
Ko teiksi?
FYI
* Formatēšana: iekļaujot tekstu no abām pusēm iekā '//', tas iznāks kursīvā: //teksts// (teksts), bet treknu tekstu var dabūt ar '**' katrā pusē: **teksts** (teksts), savukārt pasvītrotu ar '__': __teksts__ (teksts).
* Enteri tiek automātiski pārtaisīti par enteriem. Jebkurš HTML (izņemot <BR.*>) tiek parādīts, kā ievadīts (ne HTML'iski)
* E-pastu var vadīt droši iekšā, ja ir bailes no spambotiem. Tas tiek aizsargāts no jamajiem.
* Jebkurš url'is (www.kaka.com, http://kaka.com/, …) tiek automātiski pārtaisīts par spiežamu prieku (www.kaka.com, http://kaka.com/, …)
* Ko nozīmē 'detransliterēšana'? Manuprāt sen jau ir laiks sākt rakstīt nevis translitā (aaboljiishi), bet gan normāliem letiņu burtiem (āboļīši). Tad nu tieši to arī dara attiecīgā poga - pārveido tekstu no translita uz parastu. Gadās kļūmītes, bet labāk šitā nekā nekā.
 

Valid CSS! Valid XHTML 1.0 Transitional! Valid RSS! Valid Atom!
Tātad tā. Kopīraita notice. Viss materiāls, kas atrodams šajā saitā nedrīkst tikt izplatīts, kopēts, jebkādi citādi reproducēts vai izmantots bez manas (laacz) rakstiskas atļaujas. šīs tiesības man laipni piedāvā Autortiesību Likums.
Jebkura informācija, kuru kāds labprātīgi publicē šajā saitā (piemēram, komentāri), pieder tās autoram. Taču, ievietojot infromāciju šajā saitā, tās autors sniedz saita īpašniekam tiesības to daļēji vai pilnā apjomā lietot, izplatīt, reproducēt, modificēt, adaptēt, publicēt, tulkot, publiski demonstrēt. Saita īpašnieks ir tiesīgs jebkuru komentāru jebkurā brīdī dzēst, vai modificēt.
© 1996 — 2025 laacz. Visas tiesības… nu jūs jau zināt, kur.
Spēcināts ar SPP (S Pivom Potjaņet) v2.0b (code name Marasmus)
Hostingu laipni piedāvā DEAC.

laacz blog activity

Top.LV

 

Lapa izlīdusi no servera dzīlēm 0.02936 sekundē(s)