是否可以“伪造”iframe的src属性?

时间:2010-08-11 20:55:19

标签: javascript jquery iframe

我尝试使用JavaScript动态地将iframe添加到网页中。我想知道是否可以通过URL使用另一个html文件来设置我的iframe的src属性。 我的意思是有没有办法用JS变量“伪造”src属性文件的html,我可以设置我的代码(JS本身)? 我会使用DOM createElement在jQuery中创建iframe。

谢谢!

3 个答案:

答案 0 :(得分:26)

您可以查看data:URIs

<iframe src="data:text/html, .... URLencoded HTML data ....">

替代地

<iframe src="data:text/html;base64, .... base64 encoded HTML data ....">

IE&gt; = 8 (MSDN source),Firefox,Safari 3+和Opera支持该方案。

它有不同的长度限制。据说Opera的切断量约为4千字节; Internet Explorer为32千字节。 Firefox没有明确的长度限制。

有关在Mozilla Developer Central

转换的数据URI和工具的更多信息

答案 1 :(得分:1)

如果您完全控制iframe客户端,并且永远不需要使用该iframe发出服务器端请求,那么将div设置为iframe的样式会更容易(查看overflow属性),您将对该div的DOM内容进行更简单,更直接的控制。

答案 2 :(得分:-1)

以下代码应该做你想要的。

你可以将src属性留空。

var yourcontent="<div>your stuff</div>";
window.frames['frame_name'].document.write=yourcontent;