Javascript Chrome扩展中的MutationObserver脚本无法';我看不到变化

Javascript Chrome扩展中的MutationObserver脚本无法';我看不到变化,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正试图从一个带有chrome扩展的网站上抓取几行文本数据。我想检测并记录特定div类中的文本: <div class="data-table"> <div class="item-value"> Some text here </div> <div class="item-value"> Target text </div> </div> 我尝试使用MutationObserver来捕获和记录更改。此脚本位于扩展

我正试图从一个带有chrome扩展的网站上抓取几行文本数据。我想检测并记录特定div类中的文本:

<div class="data-table">
  <div class="item-value"> Some text here </div>
  <div class="item-value"> Target text </div>
</div>
我尝试使用MutationObserver来捕获和记录更改。此脚本位于扩展名的
content.js
文件中:

setTimeout(function(){
   var observables = document.querySelectorAll('.item-value');
   console.log('Hello!');

   var observer = new MutationObserver(function(mutations) {
      mutations.forEach(function(mutation) {
         console.log(mutation);
         alert('innerText Changed!')
      });
   });

   var config = { characterData: true, subtree: true, childNodes: true };

   observables.forEach(function(node) {
      observer.observe(node, config);
   });
}, 10000);
该脚本在页面加载10秒后执行,以确保是否加载了目标div。因此,可以记录“Hello”文本,但之后什么也不会发生。我做错了什么


目标文本的div经常更新,但innerText每分钟更改一次。我需要在那一分钟后以非常低的延迟捕获innerText上的更改。如果除了MutationObserver还有其他选择,我很乐意接受。

我无法复制它,尽管我将observer放在页面本身而不是扩展中。但我不确定这会有什么不同。在错误的上下文或URL中加载内容脚本是一个常见的错误。它必须在manifest.json中正确注册或通过chrome.tabs.executeScript注入。如果你做得正确,我想网站不会使用characterData修改,而是插入整个节点,这样你就可以尝试在
config
中使用
childNodes:true
。我已经在问题中添加了清单文件。还添加了'config'中的'childNodes:true',它仍然不工作。
setTimeout(function(){
   var observables = document.querySelectorAll('.item-value');
   console.log('Hello!');

   var observer = new MutationObserver(function(mutations) {
      mutations.forEach(function(mutation) {
         console.log(mutation);
         alert('innerText Changed!')
      });
   });

   var config = { characterData: true, subtree: true, childNodes: true };

   observables.forEach(function(node) {
      observer.observe(node, config);
   });
}, 10000);