我在一个页面上工作,将显示数据库字段的内容。内容为HTML格式,包括整个网页
<html>
<title>Some title</title>
<style type="text/css">
/* CSS content here */
</style>
<body>
<!-- body content here -->
</body>
</html>
我需要在另一个网页中显示所有这一切,所以我认为使用iframe可以让我否定父页面中的任何css。但是,我不知道如何覆盖iframe文档的内容。
到目前为止,我所做的是检索数据,然后使用以下代码
$("#iframe_constainer")
.find('iframe:first').contents().find('html:first').html(myHTML);
我的网页包含一个名为iframe_container的div,其中包含一个iframe。
<div id="iframe_container"><iframe/></div>
这可以正常工作,但是myHTML
的内容被包装在html
标记中。所以效果是这样的
<html>
<html>
<title>Some title</title>
<style type="text/css">
/* CSS content here */
</style>
<body>
<!-- body content here -->
</body>
</html>
</html>
我知道这是因为我要在iframe中找到HTML标记并更改html。有没有办法用jQuery覆盖整个文档?
发布于 2013-09-06 02:16:29
你并不真的需要jQuery来做这件事,只需使用document.write
将内容写入iframe来完全替换iframe的文档即可。
例如(在普通的普通JS中)
document.getElementById("myIframeId").contentWindow.document.write(myHTML);
发布于 2018-06-21 08:40:12
打开文档然后关闭将通过追加内容来修复问题
var iframe = document.getElementById('iframeID');
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(htmlData);
iframe.contentWindow.document.close();
https://stackoverflow.com/questions/18643215
复制相似问题