【问题标题】:Listen to URL change in opened window在打开的窗口中监听 URL 变化
【发布时间】:2011-08-17 06:47:58
【问题描述】:

如果我打开一个窗口(使用window.open),我是否可以检测到它的 URL 何时更改(更改为特定的),因为:

  • 窗口的初始 URL 位于另一个域(准确地说是 Facebook)上
  • 我有兴趣检测的网址也是

我需要这个来进行身份验证。 See "Desktop apps" at the bottom of this page.

【问题讨论】:

  • 这是在桌面应用嵌入式浏览器中运行的吗?这一点很重要,因为在常规 Web 浏览器中,如果窗口对象(由 window.open 返回)位于不同的域中,则不允许您从窗口对象中读回,但在 dektop Web 客户端控件中,规则可能更加宽松。跨度>
  • 您是否将浏览器嵌入到您的桌面应用程序中?
  • 它在浏览器中,但我发现桌面应用程序比重定向到我网站中的实际 URL 更方便(因为有一些检查使得使用本地版本进行测试很烦人)。不过,如果这失败了,那还是有可能的。

标签: javascript facebook cross-domain


【解决方案1】:

只要新 url 驻留在同源策略不认为与您自己相同的域中,那么这将是不可能的。

【讨论】:

    【解决方案2】:

    嗯,我发现的一种方法是简单地轮询窗口的location.href(使用setTimeout),但这并不优雅。

    更新:它不起作用。我可以console.log(newWin.location) 很好,但是当我尝试访问hrefhash 时,我得到了跨域安全错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      相关资源
      最近更新 更多