我正在尝试编写一个简单的 chrome 扩展来更改 DOM 中表的值。这里重要的是网页正在使用 ajax 命令来构建和更改该表的内容。(首先,在页面。然后您单击一个链接,并通过 ajax 请求(不重新加载页面)创建一个表,然后通过单击其他链接,该表将被修改)。
这是我用来收听表格更改的代码:
var target = document.querySelector('#my-table');
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
alert('The table has appeared');
});
});
var config = {
attributes: true,
childList: true,
characterData: true,
subtree: true
};
observer.observe(target, config);
observer.disconnect();
问题是,当我在页面中按下使表格更改的链接时,什么都不会发生。当我检查 chrome 的控制台以调试我的工作时,我看到它在页面加载后立即给了我这个错误:
未捕获的 NotFoundError:无法在“MutationObserver”上执行“观察”:提供的节点为空
我真的很迷茫,不知道该怎么办。有人有什么建议吗?ps:这是我的扩展清单文件:
"manifest_version": 2,
"name": "MyExtension",
"description": "Testing the Content Script api",
"version": "1.0",
"content_scripts": [
{
"matches": ["www.myWebsite.com"],
"js": ["script.js"]
}
],
"browser_action": {
"default_icon": "icon.png"
}
}