【问题标题】:Detect if remote website is frameable检测远程网站是否可框架
【发布时间】:2012-06-23 03:51:11
【问题描述】:

我想检测远程网站是否允许站在 iframe 下。 例如,如果网站不想在 iframe(amazon.com 项目详细信息页面)下显示内容,或者如果他们有框架破坏代码(walmart.com),我不想打扰这些网站。我只想打开新窗口,对于其他人(如 wikipedia.com),我想在 iframe 下显示内容。

我的问题是有什么方法可以检测网站是否会接受 iframe 下的内容?

【问题讨论】:

  • 简单的答案?不,他们这边的服务器决定发回什么内容,通常是有效的 HTML,简单地说,“跨服务器 iframe 被阻止。”
  • 您想知道 frame-busting-code 还是 X-Frame-Options http 标头?
  • 两者,我只想在 iframe 允许的情况下显示网站。如果他们有隐藏内容或框架破坏的特定代码,我想使用新页面。

标签: javascript iframe


【解决方案1】:

我认为没有这样的方法。您无法检查从另一个域加载的 iframe 内容 - 即使可以,它仍然取决于网站所有者决定放入的确切内容。如果有人以与原始内容完全相同的方式设计他们的“iframed”内容怎么办?例如,所有页面的文本都以 ROT13 编码?

【讨论】:

    【解决方案2】:

    以下是用于阻止页面在 iframe 中显示的 Javascript 代码之一。

    if (top.location.href != self.location.href)
      top.location.href = self.location.href;
    

    如果是包含文件,就不好检测了..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-30
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2021-01-16
      • 2015-02-04
      • 1970-01-01
      相关资源
      最近更新 更多