我的页面上有一个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/