我在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文件。 请帮忙。
答案 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');