我正在尝试将 HTML 片段加载到以下新创建的 iframe 中。
<!DOCTYPE html>
<html>
<head><title>Test</title></head>
<body>
<script type="text/javascript">
var iframeId = "frame"
+ Math.floor((Math.random() + "") * 1000000000000).toString();
document.write('<iframe height="300"'
+ ' width="300"'
+ ' frameborder="0"'
+ ' scrolling="no"'
+ ' id="' + iframeId + '"'
+ ' name="' + iframeId + '"'
+ ' allowtransparency="true"></iframe>');
var iframe = document.getElementById(iframeId);
var iframeContent = '<!-- --\><script language=\"javascript\"\></script\>';
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(
'<!DOCTYPE html\><html\><head\><title\>Test</title\></head\><body\>'
+ iframeContent
+ '</body\></html\>');
iframe.contentWindow.document.close();
</script>
</body>
</html>
当我在浏览器中打开此文档时,iframe 未正确加载。关于可能导致这种情况的任何想法?
如果我将 iFrameContent 设置为
var iframeContent = '<!-- --\>';
或者
var iframeContent = '<script language=\"javascript\"\></script\>';
该页面似乎正确加载。
iframeContent 本质上是第三方 HTML 片段(使用 freemarker js_string 转义)并且可能包含 HTML 注释。