我的页面上有一个iframe,它向第三方页面提交表单。该第三方完成计算后,便会重定向回我自己的站点。我想检测iframe何时返回自己的网站。

我当前的方法是使用超时并每0.5秒检查iframe的location.host。但是,尽管iframe仍位于第三方网站上,但我遇到了JS错误,请避免。

有什么好方法可以弄清楚iframe的位置何时返回我自己的服务器上而又不会出现JS错误?

最佳答案

您可以将支票包装在try catch块中。或者,您可以在主机上“呼叫”父页面。 (类似于parent.notifyReady()),这样您就不必使用setInterval

您可以通过使用document.referrer属性将逻辑基于是否调用父级

因此,在您的第三页上,您可能会看到以下内容:

if(document.referrer.indexOf('otherdomain.com') != -1) {
    // script called via otherdomain.com
    parent.notifyReady();
}

关于javascript - 检测iframe何时从跨域网站返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13980816/

10-12 12:28
查看更多