1

我有一个 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?

4

0 回答 0