Невозможно получить доступ к URL в аддоне firefox - PullRequest
0 голосов
/ 05 апреля 2020

Я не могу получить доступ к urlbar в firefox addon

Я не могу получить доступ к объекту urlbar как к дополнению firefox, если я добавлю его в разрешения в манифесте. json firefox сообщает мне «Недопустимое разрешение расширения: urlbar», но если я запрашиваю «tab» в качестве разрешения, оно отображается как свойство:

Reading manifest: Warning processing permissions: Error processing permissions.1: Value "tab" must either: must either [must either [be one of [
      "clipboardRead",
      "clipboardWrite",
      "geolocation",
      "idle",
      "notifications"
    ], 
  /********* A LOTS OF PERMISSIONS ************/
  be one of [
    "urlbar" // <<< RIGHT HERE!!!
  ], be one of [
    "contextualIdentities"
  ], be one of [
    "dns"
  ],
  /********* A LOTS OF PERMISSIONS ************/
  be one of [
    "theme"
  ], or match the pattern /^experiments(\.\w+)+$/
], or must either [be one of [
    "<all_urls>"
  ], must either [match the pattern /^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/
    ]+|[^*/
    ]+)\/.*$/, or match the pattern /^file:\/\/\/.*$/
  ], or match the pattern /^resource:\/\/(\*|\*\.[^*/
  ]+|[^*/
  ]+)\/.*$|^about:/
]

Как получить доступ к urlbar? Мое намерение состоит в том, чтобы после перенаправления фантастического URL (например, http://something.server.internal) перенаправить на другую страницу (что я уже делаю), но не изменять URL-адрес в адресной строке. В качестве альтернативы я думал о загрузке iframe с содержимым страницы для перенаправления, но я не могу контролировать содержимое страницы, которая не существует.

1 Ответ

0 голосов
/ 13 апреля 2020

Панель URL недоступна аддонам WebExtensions. Вместо этого есть omnibox API: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/omnibox

Но вам не нужно использовать omnibox для перенаправлений. Вместо этого слушатели для webRequest.onBeforeRequest могут сделать это. Смотрите также: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest#Examples

...