当我在iframe中拥有它的源html时,如何显示完整的html页面?

时间:2013-12-13 14:25:36

标签: javascript html iframe

我想在我的html页面上显示另一个html页面,生成html页面。所以我没有它的src,只有内容。它有doctype,head,body,所有东西。所以我决定使用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动作变量。但是在我的代码gots在浏览器中执行之后,这就是我在那里看到的。

1 个答案:

答案 0 :(得分:1)

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

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

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