iframe窗口顶部位置问题。 iframe一遍又一遍地加载

时间:2013-03-11 10:59:31

标签: iframe

当我的iframe加载时,我需要父页面加载不同的内容(页眉,页脚),而iframe仍然存在。我添加到iframe:

window.top.location = "http://mysite.com";

它加载新的父页面,但一遍又一遍地重新加载。 如何只启用一个load / iframe加载或某种解决方案。

我试过

window.onload = function() {
if(!window.location.hash) {
    window.location = window.location + '#loaded';
    window.location.reload();
}

}

但它什么也没做。

谢谢。

1 个答案:

答案 0 :(得分:0)

你只是在不重新加载iframe的情况下才能重新加载iframe父级!如果要更改父页面中的某些内容,则必须使用父页面中的javascript而不是iframe来执行此操作。 如果您想要捕获“iframe加载事件”,您必须从iframe内部执行此操作。看起来像是一个不可能的情况,但你仍然可以做到!

您需要让iframe和父页面通信,并且您可以使用html5 postmessage(即使父和iframe位于不同的域中也能正常工作!)。如果您还需要兼容IE7,则可以使用easyXDM javascript库而不是postMessage,只需在其网站中搜索。

当触发jQuery(document).ready()(或任何类似事件)时,只需从iFrame执行postMessage,父页面必须有一个等待此消息的列表器,以触发页眉/页脚/任何更改事件。