将内容添加到iframe

时间:2011-04-07 17:32:03

标签: javascript jquery iframe

我在iframe中显示一个页面。以下是标记:

<iframe src="/home/index" width="700px" height="300px"/>

现在,使用jquery我正在尝试将另一个页面的内容添加到此iframe:

 $('iframe').bind('load',function()
{

$('iframe).contents().find('body').load('/user/profile');
});

页面(用户/个人资料)内容正在呈现,除了javascript文件,即'user / profile'页面的head部分包含对javascript文件的引用,如jquery.js,profile.js等。我在firebug中检查了iframe的内容。没有引用这些js文件。 请帮忙。

2 个答案:

答案 0 :(得分:0)

当jQuery添加包含script标记的内容时,会删除这些标记。其中的代码在不插入DOM的情况下执行。这样做是因为当您尝试执行此操作时Internet Explorer有时会中断。

更重要的是,您要问的是,为什么您没有将head上的/user/profile元素的内容添加到iframe页面的body。你真的很惊讶这不能像你期望的那样工作吗?

由于您要替换iframe的整个内容,为什么不更改它指向的页面?我不太明白你为什么用Javascript做这件事。

答案 1 :(得分:0)

这不会起作用,因为您将head元素放在正文中 - 而不是HTML如何工作。

你可以做到

$('iframe').contents().find('html').load('/user/profile');

...代替

修改

lonesomeday非常好。为什么不改变iframes的src?

$('iframe').attr('src', '/user/profile');