我想将 HTML 代码嵌入到 html 页面中。HTML 嵌入代码的样式扰乱了完整的布局,这就是我想使用 iframe 的原因。问题是没有 .html 页面可以链接,因为这个 HTML 代码来自数据库。我尝试过类似的东西:
<iframe>${htmlContent} </iframe>
where${htmlContent}
包含一个简单的 html 内容。
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
此答案假定您能够从存储的 HTML 中删除<html>
and</html>
标记,并且能够HtmlEncode
在放入标记时使用它。
将编码的 HTML 存储到类似 div 的东西中...
<div id="htmlstore" style="display:none;">{html goes here}</div>
所以它看起来像......
<div id="htmlstore" style="display:none;"><body>This is my text</body></div>
然后使用以下 Javsacript,它将“HtmlDecode”(不幸的是没有本机 javascript 函数来执行此操作),然后放入 iframe
<script type="text/javascript">
window.onload = function(){
var html = document.getElementById("htmlstore").innerHTML;
html = html.replace(/</g,"<").replace(/>/g,">");
var frameDoc = document.getElementById("newframe").contentWindow.document;
frameDoc.documentElement.innerHTML = html;
}
</script>