2009-08-16 7 views

Odpowiedz

11

Możesz pobrać przykłady, które nie wymagają skryptów po stronie serwera od ie6nomore.com.

Używają komentarze warunkowe funkcji IE, tak:

<!--[if lt IE 7]> 
Your browser is outdated! 
<![endif]--> 

Ale przykłady na stronie faktycznie oferują linki do innych przeglądarek. Oczywiście możesz ulepszyć własną wersję, która pasuje do twojego układu.

Oczywiście, możesz zrobić to po stronie serwera, jeśli wolisz, skoro i tak używasz PHP. Inne przykłady tutaj, używając $_SERVER["HTTP_USER_AGENT"] powinny zacząć. Używanie get_browser może być przesadą, ponieważ wymaga dość dużego pliku danych do działania.

Jeśli jesteś zainteresowany tylko w wykrywaniu stare wersje IE po stronie serwera, to należy zrobić: komentarze warunkowe

preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches); 

if (count($matches) > 1 && $matches[1] <= 6.0) 
{ 
    echo "Your browser is outdated"; 
} 
0

Możesz sprawdzić zmienną $_SERVER['HTTP_USER_AGENT'] dla IE.

if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) || 
    eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) { 
    // IE 
} 
+0

W szczególności, musisz wyszukać w tej zmiennej ciąg "MSIE 6.0". –

+0

Powiedział, że IE6, a nie IE całkowicie. – Esko

1

używać IE twojej stronie

<!--[if lt IE 7]> 
include a warning here (in an iframe, perhaps, to save extra bandwidth) 
<![endif]--> 
0

powinieneś być w stanie to zrobić łatwo za pomocą wbudowanej funkcji get_browser.

Jeśli chcesz zobaczyć, jak wyglądają dane wyjściowe, gdy odwiedzane są przez IE 6, możesz pobrać ciąg agenta użytkownika z wersji UserAgentString.com, aby go przetestować.

0

Ewentualnie można również sprawdzić go z JavaScript

/* 
* Check whether the current browser is IE6 
*/ 
function isBrowserIE6() { 
    if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) { 
     return true; 
    } else { 
     return false; 
    } 
} 

(Powyższy po prostu pracować w środowisku ASP.NET. Here's a blog post który obsługuje IE sprawdzanie natywny sposób).

Następnie dodać element kontenera HTML na swojej stronie

<div id="ie6BrowserWarning" style="display:none"> 
    Your browser is outdated. Please download one of the alternative browsers! 
    <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
</div> 

A na stronie obciążenia robisz

<html> 
<head> 
<script type="text/javascript"> 

    function doIE6WarningCheck() 
    { 
    var element = document.getElementById("ie6BrowserWarning"); 
    var isIE6 = isBrowserIE6(); 
    if(element != null && isIE6 == true) 
    { 
     element.style.display = "block"; 
    } 
    } 
</script> 
</head> 
<body onLoad="doIE6WarningCheck()"> 
    <div id="ie6BrowserWarning" style="display:none"> 
     Your browser is outdated. Please download one of the alternative browsers! 
     <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
    </div> 
</body> 
</html> 

nie sprawdzić, że po prostu napisał to z mojej głowie teraz . Musiałbyś to zrobić, ale myślę, że to powinno zadziałać. Firebug jest zawsze dobrym rozwiązaniem do debugowania JavaScriptu.

+0

To nie jest standardowy JavaScript. Działa tylko w środowisku ASP.NET. Niezbyt pomocny, ponieważ używa PHP. Jeśli chcesz wykonać tę stronę klienta, komentarze warunkowe są znacznie łatwiejsze. – Thorarin

+0

Niestety, wziąłem isBrowserIE6() z tego, co napisałem kilka razy temu. Nie zwrócił uwagi, że uruchomi się po prostu na ASP.net. Oczywiście komentarze warunkowe są łatwiejsze, JavaScript byłby po prostu alternatywą. (Zaktualizowałem post, aby wskazać stronę zawierającą sprawdzanie rodzimej przeglądarki). – Juri