代码之家  ›  专栏  ›  技术社区  ›  gatapia

我怎样才能知道我是否在一个特定的iframe中

  •  0
  • gatapia  · 技术社区  · 15 年前

    假设我是一个生活在HTML页面中的JS脚本。我需要知道我是否在一个特定的iframe中。

    类似的东西

    if (top.location.href === 'http://specificurl/') ...
    

    不过,我需要在任何领域都能做到这一点。

    我还尝试向iframe所有者中的window元素添加一个值,并检查具有相同结果的子元素(权限错误)。

    有什么建议吗?

    谢谢

    圭多

    2 回复  |  直到 15 年前
        1
  •  1
  •   Graza    15 年前

    除非您同时控制页面/站点/域(即框架的页面和主页面),否则无法完成。

    如果您有控制权,请查看 easyXDM 用于“跨域通信iframe”的框架或Google

    不能这样做的原因是简单的安全性。想象一下,如果您访问了一个包含一个框架的站点,该框架似乎占据了整个页面,然后访问了您的网上银行站点->很容易看到恶意javascript如何获取各种详细信息,这就是为什么只有在两个站点/页面/域显式编码以协同工作时才能执行此操作的原因。

        2
  •  0
  •   gatapia    15 年前

    我知道如何在我的场景中做到这一点。幸运的是,我的客户机脚本(活在框架中)被我的一个脚本动态加载。我只是在URL中添加了一个锚,可以在框架内访问它。

    非常直截了当。

    感谢Graza的帮助,该产品看起来非常有趣,幸运的是我不需要它。

    谢谢

    圭多