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?
答案 0 :(得分:2)
正如评论员所说,id content 的元素可能尚不存在。此外,您不需要使用 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);
}
}
在您确信元素存在之前,您应该调用上述函数,例如在加载事件之后或类似事件之后。