现在,我正在尝试使用jquery将另一个页面的内容添加到此iframe中: $('iframe').bind('load',function(){$('iframe).contents().find('body').l">
我正在显示的一个页面里面的iframe.Following是这个标记:
<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文件的引用。我检查了firebug.There中的iframe内容不引用这些js文件。请帮帮忙。
发布于 2011-04-07 17:36:16
当jQuery添加包含script
标签的内容时,这些标签将被删除。它们中的代码在没有插入到DOM的情况下被执行。之所以这样做,是因为当您尝试这样做时,Internet Explorer有时会崩溃。
此外,您还会问为什么没有将/user/profile
上的head
元素的内容添加到iframe页面的body
中。你真的很惊讶这并没有像你期望的那样工作吗?
既然您要替换iframe的全部内容,为什么不更改它所指向的页面呢?我不太明白你为什么要用Javascript这样做。
发布于 2011-04-07 17:39:11
这是行不通的,因为您将head
元素放在了正文中-而不是HTML的工作方式。
你可以这样做
$('iframe').contents().find('html').load('/user/profile');
相反..。
编辑:
某一天的寂寞是一个很好的观点。为什么不直接改变iframes的src呢?
$('iframe').attr('src', '/user/profile');
https://stackoverflow.com/questions/5585154
复制