Как добавить chrome -поиск: //local-ntp/local-ntp.html для манифеста в расширении chrome - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть расширение chrome, я запускаю скрипт содержимого на activeTab, и он отлично работает на других вкладках, но когда я запускаю скрипт на новой вкладке, браузер выдает ошибку «Unchecked runtime.lastError: Не удается получить доступ к содержимому URL "chrome -search: //local-ntp/local-ntp.html". Манифест расширения должен запрашивать разрешение на доступ к этому хосту. " Я думал, что смогу добавить этот URL в файл манифеста, но он не работает. Я видел некоторые решения для других проблем в стеке потока, но пока ни одно из них не сработало.

Вот как я выполняю скрипт:

var link = 'http://localhost/example/abc.html';
chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) {

            chrome.tabs.executeScript(tabs[0].id, {
                    file: "lib/prefetch.js"
                  }, function() {
                    chrome.tabs.sendMessage(tabs[0].id, {link: link});
                    resolve(0);//resolve the promise

            });

        });

Манифест. json выглядит следующим образом :

{
  "name": "Example Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Example extension",
  "browser_action": {
    "default_icon": "img/grey-16.png",
    "default_popup": "index.html"
  },
  "permissions": [
    "tabs", 
    "notifications",
    "background", 
    "activeTab",
    "webRequest",
    "webRequestBlocking",
    "contentSettings",
    "browsingData",
    "http://*/*",
    "https://*/*"
  ],
  "content_scripts" : [
   {
     "js": [ "index.js", "ext/jquery-2.1.4.min.js"],
     "matches": ["*://*/*"]
   },
   {
     "js": [ "content.js", "onexecute.js"],
     "run_at": "document_start",
     "matches": ["*://*/*"]
   }
  ],
  "background": {
      "scripts" : ["ext/jquery-2.1.4.min.js","ext/async.min.js","ext/himalaya.js","background.js"],
      "persistent": true,
      "matches": ["*://*/*"]
  },
  "content_security_policy": "script-src 'self' 'unsafe-eval' https://rawgit.com/caolan/async/master/dist/async.min.js https://ajax.googleapis.com;  object-src 'self'"
}

1 Ответ

0 голосов
/ 16 марта 2020

Я также не могу запустить это на новой вкладке. У меня есть эти разрешения:

"permissions": [
  "contextMenus",
  "tabs",
  "activeTab",
  "https://*/",
  "notifications",
  "<all_urls>",
  "storage"
],

Я думаю, что новая вкладка не имеет установленного URL, поэтому вы не сможете запустить из новой вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...