代码之家  ›  专栏  ›  技术社区  ›  Yuji 'Tomita' Tomita

跨域片段标识符hack是否不再工作?

  •  0
  • Yuji 'Tomita' Tomita  · 技术社区  · 16 年前

    我看到这引用了很多: http://ajaxify.com/run/crossframe/

    我注意到现在它不再为iframe(子)工作来更改父哈希。

    我花了几个小时尝试各种各样的事情,想知道为什么这不再有效了——然后我终于意识到我最初基于它的例子也失败了。

    有人能证实吗?

    -

    -

    我需要使用跨域iframe 为了处理我们的购物车不支持的订单上传表单,我需要该表单将订单ID返回给父级,这样我就可以将两个服务器之间的数据关联起来。

    如有任何建议或指示,欢迎前往。

    我不是在找捷径,也不是在找人来做我的工作。我读了一整天…我只需要朝正确的方向轻轻推一下。

    谢谢!

    1 回复  |  直到 16 年前
        1
  •  0
  •   Matthew Flaschen    16 年前

    它部分特定于浏览器。例如,一些浏览器不允许嵌套的子框架(iframe中的iframe)更改其父框架的片段。见 this blog entry . 但在最近的浏览器中,基本功能仍然有效。 This demo 在Firefox 3.5.9和Chrome5.0.375.99中,iframe可以更改其父级,反之亦然(单级)。

    您提供的演示在该版本的Firefox中也可以双向工作。它不允许孩子在chrome中更改父级。主要的区别似乎是工作人员使用 parent.location ,而断裂的则使用 parent.window.location.hash .

    最新浏览器的最佳解决方案是 postMessage . 如有必要,还可以使用服务器代理。

    推荐文章