(如果这不是发帖的正确论坛,请原谅我 - 我找不到与非本地编程相关的任何内容以及与该主题相关的任何内容)
我正在尝试将动态 HTML 设置为网页上的 iFrame。我尝试了几件事,但似乎都没有工作。我能够阅读 innerHTML 但似乎无法更新它。
// Able to read using
document.getElementById('iFrameIdentifier').innerHTML;
// On Desktop IE, this code works
document.getElementById('iFrameId').contentWindow.document.open();
document.getElementById('iFrameId').contentWindow.document.write(dynamicHTML);
document.getElementById('iFrameId').contentWindow.document.close();
理想情况下,相同的功能应该与 div 的工作方式相同,但它说“对象不支持此方法或属性”。
我也尝试过 document.getElementById('iFrameId').document.body.innerHTML。
这显然替换了页面的整个 HTML 而不仅仅是 innerHTML。
我已经尝试了几件事,但它们没有用
- document.getElementById('iFrameId').body.innerHTML
- document.frames[0].document.body.innerHTML
我的目的是拥有一个容器元素,该元素可以包含为其设置的动态 HTML。
到目前为止,我一直很好地使用它,因为我观察到在 div 上设置 innerHTML 正在花费越来越多的时间,因为 onClicks 或其他 JS 方法附加到动态 HTML 中的锚点和图像。似乎 JS 方法或 HTML 无法正确清理(内存泄漏?)
也在讨论中 - http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_26185526.html#a32779090