对方法或属性访问的意外调用.在IE中使用appendChild()
"Unexpected call to method or property access." in IE with appendChild()
function fload(){
f = document.createElement('iframe');
f.setAttribute('id','iframe');
f.setAttribute('src','http://www.wtsp.com/news/article/199268/8/man-falls-behind-on-payments-mortgage-company-has-home-trashed');
f.setAttribute('frameborder','0');
document.getElementById('content').appendChild(f);
}
我试图加载一个iframe后,其他一切加载。以上就是代码。在IE9中,控制台显示"SCRIPT65535:对方法或属性访问的意外调用。"指向带有appendChild()的行。
还有,是否可以异步加载iframe ?
正如评论者所说,可能id 内容的元素还不存在。此外,您不需要使用setAttribute,只需直接设置DOM属性:
function fload(){
var f;
var el = document.getElementById('content');
if (el && el.appendChild) {
f = document.createElement('iframe');
f.id = 'iframe';
f.src = 'http://...';
f.frameborder = '0';
el.appendChild(f);
}
}
你不应该调用上面的函数,直到你确信元素存在,比如在加载事件之后或类似的。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 设置倒计时计时器,IE出现问题
- 仅在IE中,javascript中的时区名称不正确
- 在IE中加载Firebug Lite时出现问题
- 为什么我得到错误IE修剪方法是't支持
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- 通过具有IE<11
- 元素.appendChild()插入IE.变通方法?(与innerText与textContent相关)
- appendChild dataURI映像到window.open在IE中失败
- document.head.appendChild 或 document.createElement 在 IE 中不起作
- document.head.appendChild(element) ie ie7 and ie8
- appendChild不能处理窗口.在IE中打开
- 无法获取属性值'appendChild':对象为空或未定义"同时追加脚本到IE
- 在Javascript中使用IE的appendChild
- 对方法或属性访问的意外调用.在IE中使用appendChild()
- appendChild不'在IE中无法正常工作