Html 我怎样才能做到没有人可以把我的iWeb站点放在iframe中?
如果有人知道,我想这样做,没有人可以把我的iWeb网站在iframe?如何使我的页面自动脱离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]------| |
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),但我认为这是一个非常边缘的情况,不值得担心。