Javascript 在打开的窗口中侦听URL更改
如果我打开一个窗口(使用Javascript 在打开的窗口中侦听URL更改,javascript,facebook,cross-domain,Javascript,Facebook,Cross Domain,如果我打开一个窗口(使用window.open),我是否可以检测到它的URL何时更改(更改为特定的URL),前提是: 窗口的初始URL位于另一个域(准确地说是Facebook) 我感兴趣的URL也是 我需要这个来认证 我发现的一种方法是继续轮询窗口的位置。href(使用setTimeout),但这并不优雅 更新:它不工作。我可以console.log(newWin.location)很好,但是当我尝试访问href或hash时,我会遇到跨域安全错误。只要新url驻留在同一来源策略认为不等于您自
window.open
),我是否可以检测到它的URL何时更改(更改为特定的URL),前提是:
- 窗口的初始URL位于另一个域(准确地说是Facebook)
- 我感兴趣的URL也是
我需要这个来认证 我发现的一种方法是继续轮询窗口的
位置。href
(使用setTimeout
),但这并不优雅
更新:它不工作。我可以
console.log(newWin.location)
很好,但是当我尝试访问href
或hash
时,我会遇到跨域安全错误。只要新url驻留在同一来源策略认为不等于您自己的域上,那么这是不可能的。这是在桌面应用程序嵌入式浏览器中运行的吗?这一点很重要,因为在常规web浏览器中,如果窗口对象(由窗口返回。打开
)位于不同的域上,则不允许从窗口对象中读取,但在dektop web客户端控件中,规则可能更宽松。是否将浏览器嵌入桌面应用程序?它位于浏览器中,但我发现桌面应用程序比重定向到我站点中的实际URL更方便(因为有一些检查使得使用本地版本进行测试很烦人)。尽管如此,如果失败,这是可能的。