Javascript 检测远程网站是否可框架

Javascript 检测远程网站是否可框架,javascript,iframe,Javascript,Iframe,我想检测远程网站是否允许站在iframe下。 例如,如果网站不想在iframe(amazon.com商品详细信息页面)下显示内容,或者他们有框架破坏代码(walmart.com),我不想为这些网站费心。我只想打开一个新窗口,对于其他人(比如wikipedia.com),我想在iframe下显示内容 我的问题是,是否有任何方法可以检测网站是否接受在iframe下?我认为没有这种方法。您无法检查从另一个域加载的iframe内容-即使可以,它仍将取决于站点所有者决定在其中放置的内容。如果有人设计他们的

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


我的问题是,是否有任何方法可以检测网站是否接受在iframe下?

我认为没有这种方法。您无法检查从另一个域加载的iframe内容-即使可以,它仍将取决于站点所有者决定在其中放置的内容。如果有人设计他们的“iframe”内容的方式与原始内容完全相同,但所有页面的文本都用ROT13编码,那该怎么办?

下面是一个Javascript代码,用于防止页面显示在iframe中

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

如果是包含文件,则不容易检测到它。

简单答案?不。他们这边的服务器决定发送回什么内容,通常是有效的HTML,简单地说,“跨服务器iframing blocked”。你想知道框架破坏代码还是X-frame-Options http头?两者都是,我只想在iframe下显示网站,只要他们允许。如果他们有特定的代码隐藏内容或框架破坏,我想去一个新的页面。