Meine Website wollen IE7 und höher zu sein. Wenn IE 6, möchte ich Warnung und kostenloser Download andere Browser-Icons zu produzieren. Ist es möglich?Wenn IE 6, ich möchte Warnung und kostenlosen Download anderen Browser-Icons
Antwort
Sie können einige Beispiele erhalten, die von ie6nomore.com nicht Server-Side-Scripting erforderlich.
Sie nutzen die bedingte Kommentare Funktion von IE, wie folgt aus:
<!--[if lt IE 7]>
Your browser is outdated!
<![endif]-->
Aber die Beispiele auf der Website tatsächlich bieten Links zu anderen Browsern. Natürlich können Sie Ihre eigene Version rollen, die Ihrem Layout besser entspricht.
Natürlich können Sie diese Server-Seite tun, wenn Sie bevorzugen, da Sie sowieso PHP verwenden. Die anderen Beispiele hier unter Verwendung von $_SERVER["HTTP_USER_AGENT"]
sollten Ihnen den Einstieg erleichtern. Die Verwendung von get_browser
kann übertrieben sein, da eine recht große Datendatei benötigt wird.
Wenn Sie nur daran interessiert sind alte IE-Versionen Server-Seite bei der Erkennung, sollte dies tun:
preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches);
if (count($matches) > 1 && $matches[1] <= 6.0)
{
echo "Your browser is outdated";
}
Sie können die $_SERVER['HTTP_USER_AGENT']
Variable für IE überprüfen.
if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) ||
eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) {
// IE
}
Verwenden IE bedingte Kommentare auf Ihrer Seite
<!--[if lt IE 7]>
include a warning here (in an iframe, perhaps, to save extra bandwidth)
<![endif]-->
Sie sollten so tun können, einfach mit der eingebauten get_browser
Funktion.
Wenn Sie sehen möchten, wie die Ausgabe aussieht, wenn sie von IE 6 besucht wird, können Sie eine User-Agent-Zeichenfolge von UserAgentString.com abrufen, um es zu testen.
Alternativ könnten Sie es auch überprüfen mit einem 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;
}
}
(Die oben funktionieren würde nur in einer ASP.net Umgebung. Here's a blog post die IE-Browser die native Art und Weise überprüft Griffe).
Sie dann ein HTML-Containerelement auf Ihrer Seite
<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>
Und auf Seite zu laden fügen Sie tun
<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>
habe ich nicht überprüfen, schrieb es einfach direkt aus meinem Kopf jetzt . Sie müssten das tun, aber ich denke, es sollte funktionieren. Firebug ist immer eine gute Option für JavaScript-Debugging.
Das ist kein Standard-JavaScript. Es funktioniert nur in einer ASP.NET-Umgebung. Nicht sehr hilfreich, da er PHP benutzt. Wenn Sie diese Clientseite verwenden möchten, sind bedingte Kommentare viel einfacher. – Thorarin
Entschuldigung, ich nahm das isBrowserIE6() von einem, das ich vor einiger Zeit geschrieben habe. Habe nicht darauf geachtet, dass es nur auf ASP.net läuft. Natürlich sind bedingte Kommentare einfacher, JavaScript wäre einfach eine Alternative gewesen. (Ich habe den Post aktualisiert, um auf eine Seite zu zeigen, die native Browserprüfung enthält). – Juri
nutzen ihre Skript Benutzer zu fördern, um ihren Browser seine customizable.you aktualisieren kann jeden Browser überprüft nicht nur dh 6
Es tritt eine einfache jQuery-Plugin für das es aufgerufen IE Warnung.Überprüfen Sie es auf: http://nmsdvid.com/iealert/
Insbesondere müssen Sie in dieser Variable nach der Zeichenfolge "MSIE 6.0" suchen. –
Er sagte IE6, nicht IE ganz. – Esko