如何从 firefox 插件执行页面的功能

问题描述 投票:0回答:0

我有一个网站,我想自动浏览,所以我决定看看我能不能写一个 firefox 插件。

我有以下代码:

清单.json

{
  "description": "Demonstrating toolbar buttons",
  "manifest_version": 2,
  "name": "button-demo",
  "version": "1.0",
  "permissions": [
    "tabs",
    "activeTab"
  ],

  "browser_action": {
    "browser_style": true,
    "default_popup": "popup/choose_page.html",
    "default_icon": {
      "16": "icons/page-16.png",
      "32": "icons/page-32.png"
    }
  }
}

choose_page.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="choose_page.css" />
  </head>
  <body>
    <div class="page-choice">developer.mozilla.org</div>
    <div class="page-choice">support.mozilla.org</div>
    <div class="page-choice">addons.mozilla.org</div>
    <script src="choose_page.js"></script>
  </body>
</html>

choose_page.js

document.addEventListener("click", (event) => {
  if (!event.target.classList.contains("page-choice")) {
    return;
  }


  browser.tabs.query({active: true, currentWindow: true}).then(tabs => {
    let activeTab = tabs[0];
    console.log('activeTab: ', activeTab)
    console.log('activeTab id: ', activeTab.id)
    let activeTabUrl = activeTab.url;
    console.log("Active tab URL:", activeTabUrl);

    browser.tabs.executeScript(tabs[0].id, {
      code: 'top[3].function1()'
    }, (results) => {
      if (browser.runtime.lastError) {
        console.error(browser.runtime.lastError);
      } else {
        console.log('success: ', results);
      }
    });

  }).catch(error => {
    console.error("Error getting active tab URL:", error);
  });
});

我从 firefox 教程中得到了脚本。基本上,我点击会弹出一个弹出窗口的扩展,然后我点击一个按钮。

但是,我遇到了未定义的行为。

是否可以执行页面的功能?

谢谢

我尝试了我写的代码

javascript firefox-addon
© www.soinside.com 2019 - 2024. All rights reserved.