исполняемый скрипт на onInstalled в дополнении Mozilla

Я очень новичок в разработке расширений Mozilla, даже я только что узнал о расширении, и разработка надстроек отличается, и я довольно застрял в том, что я вижу в MDN (Сеть разработчиков Mozilla), я хочу выполнить сценарий 'content_script.js', как только моя надстройка будет установлена, чтобы пользователю не нужно было перезагружать браузер

Я просто перетаскиваю свой xpi-файл и устанавливаю его, затем нажимаю кнопку на веб-странице, которая отправляет сообщение в мою надстройку, но моя надстройка прослушивает это сообщение только после перезагрузки веб-страницы.

//main.js

       var chrome = require("chrome");      
    chrome.runtime.onInstalled.addListener(function(){
             executeScript (contentscript.js) in tabs});

//also I tried
    browser.runtime.onInstalled.addListener

Я пытался с этим, когда я узнал, что это для расширений Mozilla, а не для надстроек, так как он выдавал мне ошибки браузер не определен и chrome.runtime не определен

затем я нашел onInstalled () внутри AddonManager.addAddonListener ()https://developer.mozilla.org/en-US/Add-ons/Add-on_Manager/AddonListener#onInstalled ()

но я все еще не понимаю, как мне использовать это в моем дополнении

что бы я ни пытался, это дает мне ошибки

//main.js
    const { AddonManager } = require("resource://gre/modules/AddonManager.jsm");
    Cu.import("resource://gre/modules/AddonManager.jsm");


    AddonManager.addAddonListener.onInstalled.addListener(function(){
        console.log('installed');
        tabs.executeScript(tabId, "../data/content_script.js", function(result) { console.log('result ='+result); });           
    });

код ниже удалил ошибку, но не сработал:

    const { AddonManager } = require("resource://gre/modules/AddonManager.jsm");
    Cu.import("resource://gre/modules/AddonManager.jsm");


    var listener = {
  onInstalled: function(addon) {
      console.log('installed');
      console.log(addon); 
        tabs.executeScript(tabId, "../data/content_script.js", function(result) { console.log('result ='+result); });           
  }
 };

     AddonManager.addAddonListener(listener);

Мой package.json выглядит так

    {
  "title": "test",
  "name": "test",
  "version": "1.0.0",
  "description": "test addon corp",
  "main": "lib/main.js",
  "author": "test",
  "engines": {
    "firefox": ">=38.0a1",
    "fennec": ">=38.0a1"
  },
  "license": "MIT",
  "keywords": [
    "jetpack"
  ]
}

main включает main.js, но все еще не выполняется, поскольку, когда я перезагружаю страницу только тогда, мой аддон работает.

Я думаю, что я делаю это совершенно неправильно, я сделал это в расширении Chrome, и это было легко, но у меня нет никаких идей для аддона Mozilla. Я даже не могу добраться до "установленного", выполнение content_script далеко. Пожалуйста, помогите если кто-то там знает, как это сделать.

заранее спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос