0

当我的 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();
}

}

但它什么也没做。

谢谢你。

4

1 回答 1

0

如果不重新加载 iframe,您就无法重新加载 iframe 父级!如果要更改父页面中的某些内容,则必须使用父页面中的 javascript 而不是 iframe。如果你想捕捉“iframe 加载事件”,你必须从 iframe 内部进行。看起来不可能的情况,但你仍然可以做到!

您需要让 iframe 和父页面通信,并且可以使用 html5 postmessage 来完成(即使父页面和 iframe 在不同的域中也可以使用!)。如果您也需要 IE7 兼容性,您可以使用easyXDM javascript 库而不是 postMessage,只需在他们的站点中搜索即可。

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

于 2013-03-11T11:36:54.400 回答