Ich muss in der Lage sein zu sagen, ob eine Seite in IE 6 angezeigt wird. Wie kann ich dies in Javascript tun, während Version 7, 8 oder andere Browser ignorieren?Wie erkennt man, ob ein Benutzer IE 6 ausführt?
3
A
Antwort
9
direkt aus den horse's mouth (und einem googeln entfernt):
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
6
könnten Sie conditional comments verwenden.
Dies ist ein guter alternativer Ansatz. +1 – ceejayoz
+1: Ich tat dies in Kombination mit mkoryaks Antwort. – Kredns
Dies ist ein besserer Ansatz - da es das "richtige" Ergebnis für andere Browser liefert, die die IE6-Engine verwenden und gegen User-Agent-Spoofing immun sind. Besser wäre es wahrscheinlich, die Feature-AKA-Objekterkennung anstelle der Benutzeragentenerkennung zu verwenden - http://www.quirksmode.org/js/support.html – Quentin