检查父窗口是否是iframe
如何从iframe中的页面告知,如果父本身也在iframe中?
说明:
我的主页home.html
包含一个iframe
<iframe src="sample.html"></iframe>
我需要检测如果home.html
(即sample.html
父)是否在iframe中。
sample.html
代码:
if(self==window) { alert('home.html is not in iframe'); } else { alert('home.html is in iframe'); }
我的问题不是重复的。 这是一个不同的情况。
如果一个窗口不是一个框架/ iframe,这是真的:
if(self==top)
如果您想查看给定窗口的父窗口是否为框架,请使用:
if(parent==top)
它是top
(窗口层次结构的最顶层窗口)和另一个窗口对象( self
或parent
层)的简单比较。
检查window.frameElement
是否为空,并查看其nodeName属性是否为“IFRAME”:
var isInIframe = window.frameElement && window.frameElement.nodeName == "IFRAME";
var isInIFrame = (window.location != window.parent.location); if(isInIFrame==true){ // iframe } else { // no iframe }