IE9创建DOM元素的方式较之前有了改变,开始严格遵循标准的实现,不允许通过直接传入一个完整html标记的方式来创建Dom元素。来看一下原代码
if(window.ActiveXObject) {
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
else {
var io = document.createElement('iframe');
io.id = frameId;
io.name = frameId;
}
我们添加 判断逻辑 如果是 IE9 就不能按ie的逻辑来处理 就按其他逻辑处理即可
所以在if添加判断IE版本逻辑 代码如下
if(window.ActiveXObject&&navigator.userAgent.indexOf("MSIE 9.0")<0)