Le code suivant s'exécute avec succès sous IE8 mais échoue dans IE9 :
document.createElement('');
Message d'erreur : exception : SCRIPT5022 : Exception DOM : INVALID_CHARACTER_ERR (5)
Analyse des idées :
Première étape : Compatible avec IE9, Firefox, Opera, Safari et autres navigateurs
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;");
Étape 2 : Compatible avec IE6-8 : Parce que ie6-8 ne peut pas modifier l'attribut name de l'iframe
var oFrame = isIE document.createElement("
Solution complète :
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("