【问题标题】:Javascript cross domain problemJavascript跨域问题
【发布时间】:2011-07-11 05:24:17
【问题描述】:

我们的网站提供了一个要安装在页面中的小部件(一段 Javascript,它编写一个 iframe 元素并在其中呈现内容,您可以看到 rss、图像和其他内容)。

在用户做一些事情后,我需要将页面(小部件所在的位置)重定向到另一个位置,但是禁止使用top.document.location,因为页面和小部件生成的 iframe 位于不同的位置,并且使用window.open 通常会被弹出窗口阻止程序阻止。

我该怎么做?

【问题讨论】:

    标签: javascript cross-domain


    【解决方案1】:

    虽然不允许从top 窗口读取 属性,但其中一些属性对写入 是开放的- 其中之一是location

    简单地做

    top.location = "http://foo/bar"; 
    

    它会很好地重定向。

    【讨论】:

    • 感谢指正。 It certainly looks like you're right,但我找不到任何关于只写属性的可靠文档(例如 MDC、W3C、Quirksmode 甚至 Wikipedia)。你有关于这方面或多或少官方文档的链接吗?
    • @Matt,不,这不在 W3 规范中 - 这是不同浏览器供应商在实施同源策略时允许的操作(这也不是任何规范的一部分) .但是location 是唯一这样的属性(允许导航)(除了与 FF2 中的 frameElement 和 IE6-7 中的 window.opener 相关的“错误”)。
    【解决方案2】:

    试试:

    window.location.href = "url"; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2017-08-29
      • 1970-01-01
      • 2017-08-15
      • 2012-03-12
      相关资源
      最近更新 更多