window.parent没有未定义?

 Q457423356 发布于 2023-02-08 13:01

我有一个页面.没有Iframes:

在此输入图像描述

我需要检查页面是否在Iframe中,所以我这样做了:

if (!window.parent) {...not in iframe...}

但似乎window.parent永远不会undefined总是引用窗口(self===parent).

这是为什么 ?

窗口没有(!)父级.那为什么要定义?

NB

我知道这window.window.w....是有道理的.但我在谈论父母(!)

我知道我可以检查这个条件:

if (window.self===window.parent)...

但我的问题仍然存在.

1 个回答
  • 来自MDN:

    如果窗口没有父窗口,则其父属性是对自身的引用

    就是那样子.

    在他们的示例中,它们提供了一种实现您的要求的方式(与您的解决方案略有不同的角度):

    if (window.parent != window.top) {
      // we're deeper than one down
    }
    

    更多参考文献:

    W3

    如果没有父文档,Window对象的父属性的值必须是父文档的Window对象或文档的Window对象

    2023-02-08 13:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有