我有一个 iframe,其中包含一个我无法控制的 Web 部件。Web 部件包含一些重定向功能。
问题是,重定向页面加载在 iframe 而不是顶部窗口中。我尝试通过添加以下内容来强制重定向到顶部窗口head
:
<base target="_search" />
<base target="_top" />
<base target="_parent" />
<a></a>
但是没有任何成功(我想这是因为iframe 里面没有任何东西?)。
所以我尝试了另一种解决方案,比如在这里:iFrame src change event detection?这是我的代码:
if (ifrm.attachEvent)
ifrm.attachEvent('onload', OnIframeRedirect);
else
ifrm.addEventListener('load', OnIframeRedirect, false);
function OnIframeRedirect() {
var redirectUrl = this.contentWindow.location;
if (redirectUrl.pathname.indexOf('PartOfTheIframeSrc') == -1)
// When the iframe is not loading it's original src
top.window.location.href = redirectUrl;
}
这行得通。但由于OnIframeRedirect
是发生在 之后onload
,用户仍然可以看到top.window.location
更改前的重定向页面。
所以我想知道,如果有人知道如何在 onload 发生之前获取重定向 url?