替换 iframe 的全部内容

新手上路,请多包涵

有没有办法使用 Javascript(或 Jquery)替换 iframe 的全部内容?

例如,如果我的 iframe 具有以下内容……

 blah outside of html
<html>
<head>
</head>
<body>
<h1> my title </h1>
</body>
</html>
blah outside of html

..它可以全部替换为您的脚本:)

到目前为止我见过的最好的是:

 $(youriframe).contents().find('html').html('your content here');

但这仍然不会替换 html 标签之外的内容。我们有一个有趣的场景,我们必须确保所有内容都被替换。

或者创建一个包含新鲜内容的新 iframe 并简单地替换以前的 iframe。

请不要评论 src 属性。

原文由 Erik Lott 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 752
1 个回答

该代码在 Chrome 或 FireFox 中运行良好,但在 IE8 中,不会显示任何内容或不会出现 iframe 中的滚动条。

试过这个:

 var doc = document.getElementById(iframeId).contentWindow.document;
doc.open();
doc.write(iframeContent);
doc.close();

这适用于我的情况,即 ie8 和 FF/chrome。

如果我使用 Rachel 的方法,iframe 内容在所有浏览器中都会像这样:

 <iframe>
    <html>
        <head>
        </head>
        <body>
        </body>
    </html>
</iframe>

原文由 YuC 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题