Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]test przęglądarki
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
bartek89
jak napisać taki test przęglądarka, że jeśli wersja przeglądarki nie jest IE 6.0 to wsykakuje alert questionmark.gif
Vir
[xml:1:dbbf3d5a3e]
function checkBrowser () {
if (navigator.appVersion.substring(0,25) == "4.0 (compatible; MSIE 5.5")
window.location.href="ie5.5.htm";
else
if (navigator.appVersion.substring(0,25) == "4.0 (compatible; MSIE 5.0")
window.location.href="ie5.htm";
else
if (navigator.appVersion.substring(0,25) == "4.0 (compatible; MSIE 6.0")
window.location.href="ie6.htm";
else

alert("Posiadasz przeglądrkę inną niż IE!");

}[/xml:1:dbbf3d5a3e]

Podany przykładowy kod rozróżnia 3 wersje IE. W przypadku posiadania określonej wersji przeglądarki ładowany jest wybrany plik.

Jeżeli chciałbyś sprawdzić inne przeglądarki to wywołaj sobie funkcję navigator.appVersion na danej przeglądarce, sprawdź co zwróciła i a pomocą substringa (podając w nawiasie "obszar przeszukiwania" stringa) porównaj to co zwróci przeglądarka z tym co ma być.
Może za bardzo nie zamieszałem winksmiley.jpg

Ps.
Substring w przykładzie może (jak się zapewne zorientujesz) wskazywać węższy "obszar przeszukiwania" (różni się tylko ciąg po MSIE) - możesz się pobawić i zawęzić "obszar przeszukiwania" tylko do tego ciągu...
Dominik
Niesiety jest to zadne rozwiazanie, poniewaz uzaleznine jest od UA, ktore przeciez moze byc nieprawdziwe (np w Operze). Dlatego zachecam do zbadania do dodatkowego sprawdzenia opera.window. IMHO lepszym rozwizaniem bedzie uzycie komentarzy warunkowych czyli
[xml:1:8cb6c5cec4]<!--[if IE 6]>
To jest IE 6
<![endif]-->[/xml:1:8cb6c5cec4]
-=Saint=-
A ja zachecam do robienia stron pod wszystkie przeglądarki tongue.gif
kamiox
Można to zrobić za pomocą php ;-) Wtedy wykryje Opere nawet jeśli się przedstawi jako IE ;-)
Paul
Cytat
jeśli się przedstawi jako IE

w JS tez nie ma z tym problemu:

Cytat
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.23 [pl]

Cytat
Opera/7.23 (Windows NT 5.1; U) [pl]


Cytat
jeśli wersja przeglądarki nie jest IE 6.0 to wsykakuje alert questionmark.gif


[xml:1:38a40d0d9e]<html>
<head>
</head>
<body>
<script type="text/javascript">
ie = (navigator.userAgent.indexOf('MSIE 6.0') != -1);
opera = (navigator.userAgent.indexOf('Opera') != -1);
if(!ie || (ie && opera)){
alert('potrzebujesz IE6.0');
}
</script>
</body>
</html>[/xml:1:38a40d0d9e]

Cytat
A ja zachecam do robienia stron pod wszystkie przeglądarki

ja rowniez smile.gif
Dominik
Cytat
Cytat
jeśli się przedstawi jako IE

w JS tez nie ma z tym problemu:

Problem jest bo nie wiesz jak sie przedstawiaja inne przegladarki (mniej znane), jak to bedzie w przyszlosci. Ale przede wszystkim nikt nie jest w stanie zweryfikowac UA, edytowany. Bo np w Mozilli w ciagu 10 sekund mozna zmienic UA na identyczny jak w IE. Dlatego proponuje cos co jest niezawodne czyli komentarze warunkowe.
[xml:1:f55b7e7376]<!--[if IE 6]>
<script type="text/javascript">
alert ("To jest IE 6");
</script>
<![endif]--> [/xml:1:f55b7e7376]
lub odwrotnie:
[xml:1:f55b7e7376]<![if !IE 6]>
<script type="text/javascript">
alert ("To NIE jest IE 6");
</script>
<![endif]>[/xml:1:f55b7e7376]
Uwaga nalezy zwrocic uwage ze pierwszy przyklad wykorzystuje downlevel-hidden a drugi downlevel-revealed.
bartek89
no dzięki nareszc bedzie spokój bo ta strona co robie to na zaliczonko jest tylko i mi sie nie chce pisać pod 3 typy przegladaek dlatego musze sie zabezpieczyc zeby sie informatyczka nie czepiała
Zajec
Napisz pod W3C i ewentualnie pod IE.
Ja na miejscu informatyczki pierwsyz warunek jaki bym postawił - Zgodna z wszystkimi przeglądarkami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.