Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IE mówimy nie
Forum PHP.pl > Forum > PHP
MajareQ
Mam taki problem... potrzebuję ograniczyć pewne elementy dla osób, które nie korzystają z FF, ponieważ np. IE nie akceptuje mojej biblioteki Ajaxa i strona się sypię.

Więc potrzebuję if'a który sprawdzał by przeglądarke odwiedzającego i jeśli nie byłaby to FF to nie wyświetla czegoś, a jeśli tak to analogicznie wyświetla/
Nie mam pojęcia jak to zrobić. preg?

Proszę o pomoc.
Grzyw
  1. <script language="javascript">
  2. var browser='';
  3. if (navigator.appName=="Netscape") browser='FF';
  4. else browser='IE';
MajareQ
Wytłumacz może winksmiley.jpg w JS nie jestem najlepszy...
Grzyw
  1. <script language="javascript">
  2. if (navigator.appName=="Netscape")
  3. {
  4. // Tu fragment kodu dla Firefoxa
  5. }
  6. else
  7. {
  8. // Tu fragment kodu dla IE
  9. }


Obiekt navigator zawiera własność appName. Przyjmuje wartość Netscape m.in. dla Firefoxa. W pozostałym przypadku traktuj klienta jako IE.
Sabistik
Lub: Komentarze warunkowe - wszystko zależy czego potrzebujesz.
Grzyw
Zobacz, tu jest szczegółowa analiza rozpoznawania browsera klienta:
http://www.javascripter.net/faq/browsern.htm
MajareQ
Dziękowa.

Jeszcze jednak mam pytanko... czy nie dałoby rady pokombinować z tym, ale w PHP?
Xniver
Zobacz funkcje: get_browser
MajareQ
Znam get_browser, lecz... mam pewne wątpliwości...

Do prawidłowego działania funkcja get_browser() potrzebuje dodatkowego pliku (php_browscap.ini), który można pobrać ze strony http://browsers.garykeith.com/downloads.asp


Potem trzeba edytować plik php.ini i znaleźć linię wyglądającą mniej więcej tak:
;browscap = extra/browscap.ini

Tylko ja nie mam dostępu do php.ini na serwie
Sabistik
No to korzystaj bezpośrednio z $_SERVER['HTTP_USER_AGENT']
MajareQ
ehh... $_SERVER['HTTP_USER_AGENT'] zwróci mi coś w rodzaju Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
musiałbym wyciągac z tego ciągu nazwę Firefox... a ja potrzebuje bezpośrednio określić czy user korzysta z FF czy z IE.
grzesiek_g
Cytat(MajareQ @ 20.03.2008, 11:18:50 ) *
Znam get_browser, lecz... mam pewne wątpliwości...

Do prawidłowego działania funkcja get_browser() potrzebuje dodatkowego pliku (php_browscap.ini), który można pobrać ze strony http://browsers.garykeith.com/downloads.asp
Potem trzeba edytować plik php.ini i znaleźć linię wyglądającą mniej więcej tak:
;browscap = extra/browscap.ini


W takim razie możesz przerobić lekko do tego funkcję ze strony DoktoraNO. Jest to sprawdzony sposób na negocjowanie zawartości. Tutaj ma to zastosowanie do wysyłania dokumentu XHTML jako application/xhtml+xml, ale nie widzę problemu by wykorzystać takie rozwiązanie dla samego sprawdzenia czy mamy do czynienia z "porządną" przeglądarką. Do tego dodaj powyższe sprawdzenie zaproponowane przez @Sabistik.
MajareQ
Może sam dam sobie pomoga winksmiley.jpg

  1. <?php
  2. $przegladarka=$_SERVER[HTTP_USER_AGENT];
  3. if(stristr($przegladarka, "firefox")){
  4. echo "Masz firefoxa... mozesz isc dalej haha.gif";
  5. } else {
  6. echo"Wróc z Firefoxem...";
  7. }
  8. ?>


[Dodane po 9 miesiącach]:
Trochę stary temat, ale 2 sprawy mam do dodania...

1) Przepraszam Sabistik, Twój post zawierał odpowiedź. Dostajesz pomoga.

2) Zapraszam do zapoznania się z Infobarem. Idealna do tego sprawa.
http://majareq.viawww.pl/zburzyc-czwarta-sciane/
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.