Как я всегда могу получить событие browser.webRequest.onBeforeRequest, когда Mozilla Firefox запускается по ссылке? - PullRequest
0 голосов
/ 29 сентября 2019

Привет эксперты.

Я не могу понять это сам.Я создал дополнение: 1) manifest.json:

{
  "manifest_version": 2,
  "name": "Example",
  "version": "1.0",
  "description": "Example",
  "permissions": [
    "tabs",
    "webRequest",
    "webRequestBlocking",
    "<all_urls>"
  ],
  "icons": {
    "48": "icon.png"
  },
  "background": {
    "scripts": [
      "background.js"
    ]
  },
  "applications": {
    "gecko": {
      "id": "my-example@clear-code.com",
      "strict_min_version": "52.0"
    }
  }
}

2) background.js:

console.log("The first message ");

browser.webRequest.onBeforeRequest.addListener(
  cancelReq,
  { urls: ["<all_urls>"], types: ["main_frame"] },
  ["blocking"]
);

function cancelReq(details) {
  console.log("Details: " + JSON.stringify(details));
  return { cancel: true };
}

Теперь я нажимаю на ссылку, например 'http://www.google.com' когда Firefox закрыт.1 из 10 раз в среднем Firefox открывается, и первый URL не запускается.

Я вижу консоль:

16:02:44.750 Something... (It depends on the link page.)
...
16:02:45.491 The first message

Как мне добиться, чтобы всегда получать событие?

PS Может я не понимаю общий механизм работы браузера?Буду благодарен за теоретические ссылки.

...