将此脚本代码(如下)置于 head 标记之间,我被告知这将不允许页面加载到 iframe 中。
如果这是正确的,是否需要用我的自定义 URL 或此代码中的类似内容替换任何内容(例如,top.location
应该是 top.myurl
)?
还是保持原样,将其粘贴到页面的头部?我试图了解这是如何工作的。
if (top.location!= self.location) {
top.location = self.location.href
}
最佳答案
如果将此代码放置在 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 中请求相同的页面,则相同的条件将评估为假。
关于javascript - 想了解iframe突破代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227895/