gpt4 book ai didi

javascript - AppendChild 到 IE 中的 iframe

转载 作者:行者123 更新时间:2023-11-29 17:16:06 27 4
gpt4 key购买 nike

通过 javascript(一个小书签):我需要创建一个 iframe,然后向其中添加一个表单,然后添加一个提交表单的脚本。

以下内容在 Chrome 中有效,但在 IE 中无效:

var i = document.createElement('iframe'); // also give it id = iframe_id
var frm = document.createElement('form'); // also add inputs and values
var s = document.createElement('script'); // also add innerHTML that submits form

document.body.appendChild(i);
window.frames['iframe_id'].document.getElementsByTagName('body')[0].appendChild(frm);
window.frames['iframe_id'].document.getElementsByTagName('body')[0].appendChild(s);

在 IE 中我得到一个错误:无法获取未定义或空引用的属性“appendChild”

在将 iframe 添加到文档之前,我尝试将表单和脚本附加到 iframe:

 i.appendChild(frm);
i.appendChild(s);
document.body.appendChild(i);

我在 Chrome 中收到奇怪的响应。来自表单提交的响应出现在一个被阻止的弹出窗口中(而不是我期望的那样)。在 IE 中似乎没有发生任何事情。

最佳答案

我建议最初使用 write() 直接写入文档。

演示:http://jsfiddle.net/QjPuZ/1/

代码:

var iframeDoc = i.contentDocument || i.contentWindow.document;

iframeDoc.open();
iframeDoc.write("<html><body></body></html>");
iframeDoc.close();

iframeBody = iframeDoc.body;
var frm = iframeDoc.createElement('form');
var s = iframeDoc.createElement('script');
iframeBody.appendChild(frm);
iframeBody.appendChild(s);

关于javascript - AppendChild 到 IE 中的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17698644/

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