Html 我怎样才能做到没有人可以把我的iWeb站点放在iframe中?

Html 我怎样才能做到没有人可以把我的iWeb站点放在iframe中?,html,iframe,breakout,iweb,Html,Iframe,Breakout,Iweb,如果有人知道,我想这样做,没有人可以把我的iWeb网站在iframe?如何使我的页面自动脱离iFrame 也适用于这个问题: 如果将此代码放置在iframe中引用的HTML中,则此代码将起作用。它的工作方式是查看top(您请求的包含iframe的页面)和self在iframe中的页面。如果存在不同,则会更改top.location以匹配iframe的URL 这里有一些ASCII码来帮助理解这一点 |----[OuterPage.html]------| |

如果有人知道,我想这样做,没有人可以把我的iWeb网站在iframe?如何使我的页面自动脱离iFrame

也适用于这个问题:

如果将此代码放置在
iframe
中引用的HTML中,则此代码将起作用。它的工作方式是查看
top
(您请求的包含
iframe
的页面)和
self
iframe
中的页面。如果存在不同,则会更改top.location以匹配
iframe
的URL

这里有一些ASCII码来帮助理解这一点

|----[OuterPage.html]------|
|                          |
|    |--[InnerPage.html]-| |
|    |                   | |
|    | top !== self      | |
|    |                   | |
|    |-------------------| |
|                          |
| top === self             |
|                          |
|--------------------------|

如果您单独请求InnerPage.html(不在iframe中),则
top===self
将计算为true,但是如果您在iframe中请求相同的页面,则相同的条件将计算为false。

还有一个指定的http头
X-Frame-Origin
,您可以将其放入服务器响应中,如果设置为
SAMEORIGIN
,将阻止浏览器渲染iframe


然而,这是一个依赖于浏览器的解决方案(因为浏览器必须支持标题以尊重其价值),但比JS trickery IMO更好。

如果您将两种解决方案结合使用,那么使用这两种解决方案是否比仅使用javascript解决方案有任何好处?没有理由您不能同时使用这两种解决方案,JS将为任何不尊重头的浏览器启动。虽然它仍然不是100%成功(有人可能在不支持的浏览器上,禁用了JS),但我认为这是一个非常边缘的情况,不值得担心。