当我的iframe加载时,我需要父页面加载不同的内容(页眉,页脚),而iframe仍然存在。我在iframe中添加了:
window.top.location = "http://mysite.com";
它加载新的父页面,但它一次又一次地重新加载。如何才能仅启用一个加载/iframe加载或某种解决方案。
我已经尝试过
window.onload = function() {
if(!window.location.hash) {
window.location = window.location + '#loaded';
window.location.reload();
}
}
但它什么也做不了。
谢谢。
发布于 2013-03-11 19:36:54
你只能在不重新加载iframe的情况下重新加载iframe父元素!如果你想改变父页面中的一些内容,你必须使用父页面中的javascript,而不是iframe。如果你想捕捉"iframe loaded event“,你必须从iframe内部去做。看起来这是一个不可能的情况,但你仍然可以做到!
您需要让iframe和父页面通信,您可以使用html5 postmessage (即使父页面和iframe在不同的域中也有效!)。如果你也需要兼容IE7,你可以使用easyXDM javascript库而不是postMessage,只需在他们的网站上搜索。
当jQuery(document).ready()
(或任何类似事件)被触发时,只需从iFrame执行一个postMessage,父页面必须有一个侦听器等待此消息以触发页眉/页脚/任何更改事件。
https://stackoverflow.com/questions/15336871
复制相似问题