gpt4 book ai didi

javascript - 无法在 IE 中访问 HTML 元素的原型(prototype)

转载 作者:行者123 更新时间:2023-12-01 01:52:36 24 4
gpt4 key购买 nike

我正在尝试填充用 open(link_here) 打开的窗口中的文本区域(在同一域上)。它在除 IE/Edge 之外的所有浏览器中都能正常工作。

在 stackoverflow 上重现的步骤:

 var w = open('https://stackoverflow.com'); // example
// (allow popups and) wait for window to be opened, then:
let input = w.document.getElementsByClassName('f-input js-search-field')[0]
const prototype = Object.getPrototypeOf(input); // returns null on IE/Edge

有什么解决办法吗?谢谢

最佳答案

我相信这是一个层次结构访问限制。由于该元素与您正在使用的 Object 不在同一个 window 中,因此它无法访问该对象的信息。如果您尝试附加由主文档创建的元素并尝试将其附加到 iframe 文档,您将遇到类似的问题。尝试此操作时,您将收到 HierarchyRequestError

不要使用主窗口对象,而是使用iframe 窗口对象:

var prototype = w.window.Object.getPrototypeOf(input);
console.log(prototype);

关于javascript - 无法在 IE 中访问 HTML 元素的原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330816/

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