gpt4 book ai didi

javascript - 将整个 html 文档显示到框架中

转载 作者:行者123 更新时间:2023-11-30 23:51:25 26 4
gpt4 key购买 nike

我有一个完整的 html 文档包含在一个 javascript 字符串变量中,我需要将其呈现到我的页面的一部分中。我必须使用框架吗?如何做到这一点?

最佳答案

使用 iframe:

<iframe id="myiframe"></iframe>

var frame= document.getElementById('myiframe');
var doc= frame.contentDocument? frame.contentDocument : frame.contentWindow.document; // IE compatibility
doc.open('text/html');
doc.write(documenthtml);
doc.close();

或者,如果您可以剪掉不需要的部分(如任何 DOCTYPE 和 元素),则可以将innerHTML 写入任何元素。通常,使用正则表达式或字符串处理处理 [X][HT]ML 是一个非常糟糕的主意,但如果您知道正文将始终包含在确切的字符串 '...< 中/body>' 并且永远不会有例如。任何隐藏在注释或脚本部分中的“”序列,您都可以摆脱它。

说实话,目前的浏览器非常宽容,它们通常甚至允许您将整个 HTML 文档写入 div 的innerHTML,其中包含 doctype 和“”!但这有点顽皮:

<div id="mycontent"></div>

document.getElementById('mycontent').innerHTML= htmldocument;

这是一个结合了这两种方法的令人讨厌的黑客,无需使用正则表达式即可提取正文内容:

<div id="mycontent"></div>

var frame= document.createElement('iframe');
frame.style.display= 'none';
document.body.appendChild(frame);
var doc= frame.contentDocument? frame.contentDocument : frame.contentWindow.document;
doc.open('text/html');
doc.write(documenthtml);
doc.close();
document.getElementById('mycontent').innerHTML= doc.body.innerHTML;
document.body.removeChild(frame);

关于javascript - 将整个 html 文档显示到框架中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422093/

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