gpt4 book ai didi

Javascript window.parent 变量永远不会为空

转载 作者:可可西里 更新时间:2023-11-01 13:07:16 24 4
gpt4 key购买 nike

众所周知,当使用多个iframe时,window.parent可以帮助人们获取当前窗口的父窗口。但是,我认为应该有一个父窗口为null的最外层窗口

我尝试了 parent.parent.parent.parent... 当我发现其中一个 parent 为空时,我以为我可以获得根窗口。令人惊奇的是,无论我使用多少个父变量,父变量都不会为空。

我有如下条件。

域名为 csm.mysite.com 的网站 1

网站 1-1 的域名:csmnew.mysite.com

Website1-1 在 Website1 的 iframe 中(它们不在同一个域中)

同时,在Website1-1中,有很多iframe(它们在同一个域)

我需要为 Website1-1 设置/获取一个全局变量,所以我使用了 top。这真的很有帮助。

但是,当 Website1-1 在 Website1 中时,总是会抛出错误,因为 top 变量(在 Website1-1 中)引用了 Website1,这对跨域策略无效。但我真正想要的是设置/获取 Website1-1 的“top”变量。

然后我在想我是否可以使用 parent.parent.parent.... 来获取 Website1-1 的最外层窗口,而不是使用让我获取错误窗口的顶部。

回到正题,为什么parent.parent.parent...总是null?

顺便问一下,有没有人知道如何获取“Website1-1”的最外层窗口?

非常感谢

最佳答案

window.parent,如果窗口没有父窗口,则包含对自身的引用,这就是它永远不会为 null 的原因。

来源:https://msdn.microsoft.com/en-us/library/ms952669.aspx

要查找最外层的窗口,您可以使用 window.frameElement。这按照您期望的 window.parent 工作方式工作:

此处有更多详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/frameElement

关于Javascript window.parent 变量永远不会为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com