🏠 Home 

Sonkwo_Steam_Search

快捷搜索steam商店

< Feedback on Sonkwo_Steam_Search

Question/comment

§
Posted: 2024-12-22

报错 Listener added for a 'DOMNodeInserted' mutation event. Support for this event type has been removed, and this event will no longer be fired. See https://chromestatus.com/feature/5083947249172480 for more information.

AI给我的回答:您遇到的错误是因为 DOMNodeInserted 事件在现代浏览器中已经被废弃了。这个事件曾经用于监听DOM树的变化,但是它已经被更高效的 MutationObserver API 所取代。 为了实现相同的功能,您可以使用 MutationObserver 来观察目标元素(在这个例子中是 div.main-content)的子节点变化,并在发生变化时执行相应的操作。下面是如何改写您的代码以使用 MutationObserver:

// 等待 div.main-content 元素加载
let t = setInterval(() => {
const container = document.querySelector("div.main-content");
if (container !== null) {
clearInterval(t); // 清除定时器
// 创建一个 MutationObserver 实例
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes.length > 0) { // 检查是否有新节点被添加
const ele = document.querySelector("h5.typical-name-2") || document.querySelector("h3.typical-name-1");
if (ele && ele.querySelector("button.btnSearch") === null) {
init(ele);
}
}
});
});
// 配置观察选项
const config = { childList: true, subtree: true };
// 开始观察
observer.observe(container, config);
// 如果初始化时就存在符合条件的元素,也应立即处理
const existingEle = document.querySelector("h5.typical-name-2") || document.querySelector("h3.typical-name-1");
if (existingEle && existingEle.querySelector("button.btnSearch") === null) {
init(existingEle);
}
}
}, 500);

我试了下确实可以

Post reply

Sign in to post a reply.