Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 想了解iframe断开代码吗_Javascript_Iframe_Breakout - Fatal编程技术网

Javascript 想了解iframe断开代码吗

Javascript 想了解iframe断开代码吗,javascript,iframe,breakout,Javascript,Iframe,Breakout,由于这个脚本代码(如下)位于head标记之间,我被告知这将不允许在iframe中加载页面 如果这是正确的,那么代码中是否有任何内容需要替换为我的自定义URL或类似内容(例如,top.location应该是top.myurl) 还是让它保持原样,只是把它粘贴在页眉上?我想知道这是怎么回事 if (top.location!= self.location) { top.location = self.location.href } 如果将此代码放置在iframe中引用的HTML中,则此代码将起

由于这个脚本代码(如下)位于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中请求相同的页面,则相同的条件将计算为false。

有帮助吗?您应该通过标记正确的答案来提高“接受率”。我只有在获得15%的声誉时才能接受,我只有4个。对不起,我不知道那个规则