Der folgende Code läuft erfolgreich unter IE8, schlägt jedoch in IE9 fehl:
document.createElement('');
Fehlermeldung: Ausnahme: SCRIPT5022: DOM-Ausnahme: INVALID_CHARACTER_ERR (5)
Ideenanalyse:
Schritt eins: Kompatibel mit IE9, Firefox, Opera, Safari und anderen Browsern
var iframe = document.createElement("iframe");
iframe.setAttribute("id", "yui-history-iframe");
iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif");
iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;");
Schritt 2: Kompatibel mit IE6-8: Da IE6-8 das Namensattribut des Iframes nicht ändern kann
var oFrame = isIE ? document.createElement("
Umfassende Lösung:
var isIE = (document.all) ? true: false; //这里仅仅简单的对是否是IE进行判断,详细浏览器判断:请参考浏览器类型侦测
var ua = navigator.userAgent.toLowerCase().match(/msie ([/d.] + ) / )[1];
if (ua == "9.0") {
isIE = false;
}
var oFrame = isIE ? document.createElement("