gpt4 book ai didi

javascript - 动态 IFRAME 在 IE11 中具有未定义的主体

转载 作者:行者123 更新时间:2023-12-02 16:28:59 25 4
gpt4 key购买 nike

这在 Chrome 中有效,但在 IE11 中失败。最终目标是构造一个新的空 IFRAME,其中包含一个表单,然后提交该表单以显示实际内容。

新构造的 IFRAME 没有 body,因此 document.body.appendChild 失败并出现错误“无法获取未定义或空引用的属性“appendChild””

解决此问题并创建空/占位符正文的正确方法是什么?

我认为我可以用 document.write 修复它,但这感觉不对。

http://jsfiddle.net/mobfrqxn/6/

var placeholder = document.getElementById("placeholder");

var myframe = document.createElement("iframe");
myframe.src = 'javascript:false';
myframe.id = 'myframe';

placeholder.appendChild(myframe);

var newElement = document.createElement("form");

myframe.contentWindow.document.body.appendChild(newElement);

alert("success")

最佳答案

您的 iframe 没有足够的时间加载,因此它是空的。将附加表单放入框架上的 onload 函数中。

我还将所有内容放入 window.onload 中,以确保主文档有时间加载。这适用于 Internet Explorer。

window.onload = function(){

var placeholder = document.getElementById("placeholder");
console.log('placeholder ' + placeholder);
var myframe = document.createElement("iframe");
myframe.src = 'javascript:false';
myframe.id = 'myframe';

myframe.onload = function(){
var newElement = document.createElement("form");
myframe.contentWindow.document.body.appendChild(newElement);
alert("success");
};

placeholder.appendChild(myframe);

};

关于javascript - 动态 IFRAME 在 IE11 中具有未定义的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28464779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com