Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在打开的窗口中侦听URL更改_Javascript_Facebook_Cross Domain - Fatal编程技术网

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更方便(因为有一些检查使得使用本地版本进行测试很烦人)。尽管如此,如果失败,这是可能的。