Dies ist eine weitere Möglichkeit, IE zu erkennen, ohne den User-Agent zu überprüfen:
var usingIE="__IE_DEVTOOLBAR_CONSOLE_EVAL_ERROR" in document;
alert("Du benutzt"+(usingIE?" den":" nicht den")+" Internet Explorer.");
Ich habe das zufällig entdeckt, als ich getestet habe, ob meine Seite in IE funktioniert, und ich in den Debugger gegangen bin und auf das Ordnersymbol geklickt habe. Es hatte meine Skripte und auch einen Dynamic Scripts
-Ordner, den ich nicht hatte. Ich habe ihn geöffnet und viele browsertools.library.js
-Dateien gefunden. Darin habe ich Sachen wie:
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_RESULT = undefined;
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_ERROR = false;
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_ERRORCODE = undefined;
try{
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_RESULT = eval("\r\n//# sourceURL=browsertools://browsertools.library.js");
}
catch( eObj ){
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_ERRORCODE = eObj.number;
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_RESULT = eObj.message || eObj.description || eObj.toString();
document.__IE_DEVTOOLBAR_CONSOLE_EVAL_ERROR = true;
}
Also habe ich diese verwendet, um zu testen, ob der Browser des Benutzers IE ist. Beachte jedoch, dass dies nur funktioniert, wenn du wissen möchtest, ob sie IE haben, nicht genau welche Version von IE sie haben.