В фоновом скрипте browser.tabs.create открывает страницу, но отображает сообщение об ошибке: Нет соответствия окна {"matchHost": ["<all_urls>"]}

Мой пример использования довольно прост:

  • Нажмите значок браузера на панели инструментов
  • Слушайте щелчок в фоновом скрипте
  • Создайте новую вкладку со страницей в том же каталоге, что и manifest.json
  • На указанной странице есть файл JavaScript, связанный с <script> элемент.

    Ниже приведена структура приложения и кода

manifest.json

{

  "description": "app",
  "manifest_version": 2,
  "name": "demo",
  "version": "1.0",

 "permissions" : [
    "activeTab", "tabs", "<all_urls>","host"
 ],

"background" :{
   "scripts" : ["bg/background.js"]
},

"browser_action": {
   "default_icon": {
    "16": "icons/page-16.png",
    "32": "icons/page-32.png"
   }
 }
}

background.js

 console.log("Message from backgroundjs."); 
 browser.browserAction.onClicked.addListener((id)=>{
    browser.tabs.create({
       url: browser.runtime.getURL("../tab/html/app.html")
    });
});

app.html

 <!doctype html>
 <html>
 <head>
    <meta charset="utf-8">
    <title>bookmarks</title>
    <!--<link rel="stylesheet" href="css/main.css"> -->
 </head>
 <body>
       <p>before script</p>
       <script src="../js/tabApp.js"></script>
      <p> after script </p>
 </body>
 </html>

tabApp.js

     //a simple console message
    console.log("hello from the other end");

Выход

- Message from backgroundjs.  background.js:8:2
- hello from the other end  tabApp.js:3:1
- Error: No window matching {"matchesHost":["<all_urls>"]}  (unknown)

Выход ожидается кроме Error: No window matching {"matchesHost":["<all_urls>"]}, Я не уверен, что вызывает эту ошибку.

Я сделал следующие вещи для отладки до сих пор

  • добавил разрешение

Пожалуйста, дайте ваши входы

1 ответ

Можете ли вы проверить, что на выходе

console.log(browser.runtime.getURL("../tab/html/app.html") 

Похоже, относительный путь не из файла manifest.json ( https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/getURL)

Другие вопросы по тегам