Javascript:document.body.appendchild 具有空值
2015-02-12
3189
我正在加载我编写的 .js 文件。在该 .js 文件中,我正在创建一个像这样的 Iframe
var frmSource = "http://MYLINK.com/mypage.php?" + encodeURI(URLBuilder);
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", frmSource);a
ifrm.style.width = 0+"px";
ifrm.style.height = 0+"px";
ifrm.setAttribute("frameBorder", "0");
document.body.appendChild(ifrm);
URLBuilder 包含指向下一页的 GET 变量
问题发生在 document.body.appendChild(ifrm);
我的错误是 javascript typeerror: null 不是对象(评估“document.body.appendchild”)
我怀疑问题是它试图将 iframe 附加到正文,但正文尚未正确加载。我目前只在 safari 中遇到此问题。
3个回答
如果您的脚本位于头部,则主体未定义 (null)。请将脚本放在页脚中。
2015-02-12
我已经做了类似的事情来配置我的 IFrame 创建并且它运行良好
var urlWithParam = url + encodeURI(URLBuilder)
var iframe = document.createElement('iframe');
iframe.src = urlWithParam;
iframe.id = "iframe_" + done;
iframe.style.position = "relative";
iframe.style.height = "100%";
iframe.style.width = "100%";
iframe.style.top = "0";
iframe.style.left = "0";
iframe.style.right = "0";
iframe.style.bottom = "0";
iframe.style.frameBorder = "0";
iframe.style.borderStyle = "none";
iframe.style.display = "none;";
//if you want to do something after the Iframe load
iframe.onload = function(event) {
};
oqx
2015-02-12
将脚本移至主体下方。效果非常好。
SunilR
2015-07-10