当我有一个完整的html页面时,如何显示它's iframe中的源html

How to display a complete html page when I have it's source html in iframe?

本文关键字:html 显示 iframe 何显示 有一个      更新时间:2023-09-26

我想在我的html页面上显示另一个html页面,该html页面已生成。所以我没有它的src,只有内容。它有doctype,头,身体,所有的东西。所以我决定使用iframe。问题是,我无法将整个文本分配给一个变量,因为我遇到了错误,有一个不受支持的字符,比如"<"等。如何处理它?

我正试着做这样的事情:

window.onload = function() {
var iframeDocument = document.getElementById("myIframe").contentDocument;
var ss = "
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
</head>
<body>
</body>
</html>";
iframeDocument.write(ss);
iframeDocument.close();
}

所以我的问题是如何转义该文本,这样它就不会导致浏览器错误?html内容也是动态生成的,所以在我的代码中没有那个文本,只有struts操作变量。但当我的代码在浏览器中执行后,这就是我在浏览器中看到的。

解决此问题的最简单方法是创建一个新的aspx页面,在iframe中创建所需的html,并将iframe的src设置为该aspx页面(或php,取决于您使用的内容)。

假设您创建了一个名为Frame.aspx的新aspx页面。然后将<iframe src="Frame.aspx?SomeParameter=SomeValue" />添加到父窗口中。

这是一种更好的方法,也更易于维护。此外,它还防止iFrame内容出现两次(一次在javascript变量中,一次作为iFrame的内容)。