我有一个页面,它像导航一样工作,并且在此页面中有一个iframe显示内容。
现在有些情况下,内部页面会直接显示在浏览器中。例如:如果有人在浏览器地址栏中输入内部页面的url,则该页面将显示在窗口中。
我想要防止这种情况发生。
更好的做法是,我希望重定向到任何其他页面。
我有一个页面,它像导航一样工作,并且在此页面中有一个iframe显示内容。
现在有些情况下,内部页面会直接显示在浏览器中。例如:如果有人在浏览器地址栏中输入内部页面的url,则该页面将显示在窗口中。
我想要防止这种情况发生。
更好的做法是,我希望重定向到任何其他页面。
window.parent: 包含该框架的窗口对象。如果窗口是顶层窗口,则window.parent指向窗口本身。(它从不为null。)
window.top: 顶层窗口对象,即使当前窗口是顶层窗口对象也是如此。
window.self: 当前窗口对象。(它是window的同义词。)
因此,我会像这样编写我的检查:
if (window.top == window.self) {
window.location = "index.html";
}
这与稍微含糊的表述是相同的:
if (window.top == window) {
window.location = "index.html";
}
<script language="Javascript"><!--
if (top.location == self.location) {
top.location = "index.html" // must be viewed in main index
}
//--></script>
将其修改为iframe决定成为主frame的情况。