我当时的场景:在某一页面判断该页面有没有元素是被iframe嵌套的,根据是否被嵌套做页面其他 逻辑处理
我是用的方法二解决的问题:top.frames.length>0 ,大于0 就是有被嵌套的,等于0就是没有被嵌套
方法一:
该方法 可兼容非同域下(但不区分 frame 和 iframe)
if(top!=self) {}方法二:(当有多个时会循环,不推荐使用)
top.frames.length>0 // 被嵌套 (当有多个时会循环,不推荐使用)方法三:(这个同时兼容跨域问题)
if(!(window.parent.frames[0] != window.self))方法四 :(不支持跨域)
if(self.frameElement.tagName=="IFRAME")方法五:(只能在同域中生效,跨域不支持)
判断 self.frameElement 为 null ,则没有被嵌入,反之