2011-04-07 51 views
1

我正在显示iframe.Following内页标记:添加内容的iframe

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

现在,使用jQuery我试图到另一个页面的内容添加到这个iframe中:

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

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

页面(用户/配置文件)内容得到呈现,除了JavaScript文件,即'用户/配置文件'页面的头部分包含对像jquery.js,profile.js等JavaScript文件的引用。我检查了iframe的内容在firebug.There没有引用这些js文件。 请帮忙。

回答

0

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

更重要的是,你问为什么你没有得到head元素的内容/user/profile添加到iframe页面的body。你真的很惊讶,这不符合你的期望?

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

0

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

你可以做

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

代替....

编辑:

lonesomeday做一个非常好的问题。为什么不改变iframe的src?

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