在一些前端项目中可能要用到动态创建 iframe 的需求,例如无刷新 ajax 上传文件。但是在 IE 下创建带有 name 的 iframe 会有个 bug,创建的代码如下:
var iframe = document.createElement('iframe');
iframe.name = 'test';
上面的这段 javascript 代码在 IE 下赋不了 name 属性!!!即 iframe.name = 'test';这段代码未执行。
在 IE 中我们可以使用下面的代码来动态创建带有 name 的 iframe:
var iframe = document.createElement('<iframe name="test">');
但是上面的代码在非 IE 浏览器下却报错,这时候我们可以使用判断 IE,如果是 ie 则使用第二段方法动态创建 iframe,或者我们可以捕获异常,如下面的代码:
var iframe;
try {
iframe = document.createElement('<iframe name="test">');
} catch (ex) {
iframe = document.createElement('iframe');
}
iframe.name = 'test';
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!