Надстройка Mozilla для insertCSS или executeScript не работает - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь написать базовое дополнение для Mozilla, чтобы создать эффект прожектора на любой странице.Вот мой файл manifest.json

bash-3.2 $ cat manifest.json {

  "manifest_version": 2,
  "name": "Mkr",
  "version": "1.0",

  "description": "Adds a spotlight all webpages matching mozilla.org.",

  "icons": {
    "48": "icons/border-48.png"
  },

  "permissions": [
     "activeTab",
     "https://*.mozilla.org/*"
  ],

  "content_scripts": [
    {
      "matches": ["*://*.mozilla.org/*"],
      "js": ["lib/Readability.js","spotlighter.js"]
    }
  ]

}

А вот мой файл spotlighter.js

bash-3.2 $ catspotlighter.js

console.log("Spotlight: Debug");

function onError(error) {
        console.log(`Error: ${error}`);
          }

//Insert spotlight CSS


//browser.browserAction.setTitle({title: "A reader"});
browser.tabs.insertCSS({file: "css/spotlight.css"});

//Insert spotlight JS
browser.tabs.executeScript({file: "lib/spotlight.js"});

//Extract article and add spotlight divs
var article = new Readability(document).parse();
console.log(article.content);

//Modify for spotlight

ct = "<div class=\"searchlight\"></div> <div class=\"canvas\">" + article.content + "<div>"

document.body.innerHTML = ct;

Когда я получаю страницу из mozilla.org в console.log, я вижу сообщение «Spotlight: Debug», но не вижу article.content.Кажется, что он не вставляет CSS, не выполняет сценарий и не выполняет код читабельности после этого.Но если я закомментирую весь браузер.строк в сценарии spotlighter.js, тогда кажется, что остальная часть сценария выполняется.Почему надстройка не вставляет CSS или не выполняет сценарий?Также нет абсолютно никаких сообщений об ошибках в консоли разработчика браузера.Любые указатели очень ценятся.

...