问题描述
我正在开发一个 Chrome 扩展程序,它使用 MutationObserver 的回调来触发内容脚本中的 cookie 同意和其他烦人的内容删除过程:
start();
function start() {
console.log('start');
scanner.observer = new MutationObserver(function(mutations) {
console.log('MutationObserver callback',mutations);
scanner.run();
}),scanner.observer.observe(document.documentElement,{
attributes: true,characterData: false,childList: true,subtree: true,attributeOldValue: false,characterDataOldValue: false }
);}
}
start()
直接在内容脚本中调用,或者每次我单击扩展弹出窗口中的按钮时调用。除了一些与谷歌相关的网站外,它适用于每个网站。例如,在正常模式下在 google.com 上搜索某些内容时,它可以工作并在控制台中输出正确的日志,但在隐身模式下,我在浏览器的控制台中只得到 start
。正常和隐身模式下的 developer.chrome.com 也是如此。
接下来是在 chrome.webstore.com(或 chrome://extensions 内页,这并不奇怪)我什至没有得到 start
顺便说一句。它适用于 translate.google.com 或 keep.google.com 等
从未在文档中看到提及它。这种行为有什么解释吗?
更新:不确定是否与谷歌相关。我还注意到有时它不会在 stackowerflow.com 或 stackexchange.com 上触发。有时它会在页面加载后例如 10-20 秒后触发(当一些附加资源、图像等完成加载并更新 DOM 时)
如果好奇:https://chrome.google.com/webstore/detail/provision/napdgmfnfbebjgahggnalabkkfaajldf
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)