2013-12-13 116 views
0

我想在我的html页面上显示另一个html页面,即生成html页面。所以我没有它的src,只有内容。它有文档,头部,身体,所有东西。所以我决定使用iframe。问题是,我不能将整个文本分配给一个变量,因为我得到的错误,有一个不受支持的字符,如“<”等。如何处理它?如何在iframe中使用源代码html时显示完整的html页面?

我试图做这样的事情:

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动作变量。但是在浏览器中执行代码之后,这就是我看到的内容。

+1

http://stackoverflow.com/questions/8988855/include-another-html-file-in-a-html-file –

+0

难道你不是指'ss =“...'?另外,你应该逃脱字符串中的'''符号。 – Boaz

+0

我想我必须在我的服务器端做到这一点。 – dhblah

回答

1

解决这个的最简单的方法是创建一个新的aspx页面,一个创建HTML你在iframe需要和iframe的src设置为aspx页面(或PHP,取决于你使用的是什么)。

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

这是一个更好的方法,更可维护。它也可以防止iFrame内容两次(一次在你的javascript变量中,一次作为iframe的内容)。

相关问题