如何修复"无法读取空的属性'文档'"时尝试访问窗口.opener.document



我正在尝试访问打开弹出窗口的窗口中的元素,但是,正如标题所说,我在尝试访问它们时收到"无法读取 null 的属性'文档'"。

我看过其他一些关于这个主题的帖子,但不幸的是,在这种情况下它们都没有帮助。

我试过了 openerWindow = window.opener.document; selectedTableRow = openerWindow.querySelectorAll(".highlighted-rows");

以及 selectedTableRow = window.parent.document.querySelectorAll(".highlighted-rows");

上面的确实运行,但是它带回了一个空数组,即使我知道有带有类的表行.highlighted-rows

selectedTableRow = window.opener.document.querySelectorAll(".highlighted-rows");

有趣的是,当我尝试通过 Chrome 控制台运行 selectedTableRow = window.opener.document.querySelectorAll(".highlighted-rows"); 时,它实际上可以工作并返回我期望的行,它只是通过失败的代码运行它。

如果设置了开场白,您将只有一个开瓶器。 有关更多详细信息,请参阅文档,但重要的一点是:

当从另一个窗口打开窗口时(使用 Window.open 或设置了其目标属性的链接(,它将对第一个窗口的引用维护为 window.opener。如果当前窗口没有打开器,则此方法返回 null

如果您确定您尝试访问的窗口应该有一个opener,您可以发布生成它的代码吗?

相关内容

最新更新