首页 > 解决方案 > chrome.tabs.executeScript 不是函数吗?

问题描述

按下按钮时,我试图从标签中检索一些文本,但此错误不断弹出:

未捕获的类型错误:chrome.tabs.executeScript 不是函数

我已经尝试了所有可以在网络上和 StackOverFlow 上找到的东西,但到目前为止还没有任何效果。

清单.json

{
  "name": "Test extension",
  "description": "test!",
  "version": "0.0.0",
  "manifest_version": 3,
  "background": {
      "service_worker": "background.js"
  },
  "action": {
      "default_popup": "popup.html"
  },
  "permissions": [
      "storage",
      "activeTab",
      "scripting",
      "tabs"
  ]
}

popup.html

<!DOCTYPE html>
<html>
  <body>
    <button id="testButton">testear</button>
    <script src="popup.js"></script>
  </body>
</html>

popup.js

function func(result) {
    for(i = 0; i <  result.length; i++) {
        console.log(result[i].innerHTML);
    }
}

const listaNombres = 'document.getElementsByClassName("ZjFb7c")'

testButton.addEventListener("click", function() {
    const executing = chrome.tabs.executeScript({code: listaNombres}, func);

    executing.then(
        console.log('Yay!'),
        console.log('Error: ${error}')
    );
});

并且background.js是空的,因为我不知道如何处理它。由于我是新手网络程序员,因此如果有详细的解释,我将不胜感激。提前致谢!

标签: javascripthtmljsondomgoogle-chrome-extension

解决方案


推荐阅读