Webextensions: событие загрузки не срабатывает, ошибка не обнаружена - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть какая-то ошибка в фоновом коде Webextensions, о которой отладчик не сообщает четко.

Сначала я получаю ожидаемое уведомление, если использую код:

// S: Promise to show string in notification box
function S(Msg,Title)
    {
    var p=browser.notifications.create({
        "type": "basic",
        "iconUrl": browser.extension.getURL("icons/link-48.png"),
        "title": Title,
        "message": Msg});
    return p;
    } // S

S('bg running','Direct from bg').then(empty).catch(err);

// Functions

function empty(ignored)
    {
    console.log('doing nothing');
    } // empty

function err(Msg)
    {
    console.log('*** '+Msg);
    } // err

Но ... Если я добавлю этот код:

window.addEventListener('load',function(e)
    {
    S('bg loaded','Direct from bg').then(empty).catch(err);
    }, true);

Тогда не будет ни одного уведомления, и я получаю странные сообщения об ошибках, которые варьируются от пробной версии к пробной в файлах вне моих файлов, например, ошибки "«мертвые объекты», какими бы они ни были.

Я предполагаю, что я неправильно использую Promises, поскольку это мой первый код, использующий их.Я изучил несколько учебных пособий и думаю, что понимаю их, но я мог бы использовать некоторую помощь здесь.

ДОБАВЛЕНО:

Вот несколько примеров сообщений об ошибках:

Error: Could not establish connection. Receiving end does not exist. bg.js:106:5
TypeError: can't access dead object[Learn More] accessible.js:142:5
Error: Could not establish connection. Receiving end does not exist. bg.js:106:5
null has no properties background.js:1
Error: Could not establish connection. Receiving end does not exist. bg.js:106:5
TypeError: Argument 1 of PrecompiledScript.executeInGlobal is not an object.[Learn More] ExtensionContent.jsm:497:18
null has no properties background.js:1
Error: Could not establish connection. Receiving end does not exist. bg.js:106:5
doing nothing PM_bg.js:23:2
Error: Could not establish connection. Receiving end does not exist. bg.js:106:5 

Опять же, ни одно из имен файлов с ошибками не принадлежит мне.Мой фоновый файл - PM_bg.js, который генерирует только «ничего не делая».

ДОБАВЛЕНО:

Никто не отвечает.Тебе нужен мой манифест?Вот оно:

{
  "manifest_version": 2,
  "name": "Bug1",
  "version": "0.2",
  "icons": {
    "48": "icons/link-48.png"
  },

"permissions": [
    "activeTab",
    "contextMenus",
    "notifications"
],

  "background": {
    "scripts": ["PM_bg.js"]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...