Расширение дополнения Firefox: непредвиденное поведение главной страницы - PullRequest
0 голосов
/ 26 сентября 2018

Это часть моего manifest.json:

...
 "chrome_url_overrides" : {
    "newtab": "index.html"
  },
 "chrome_settings_overrides" : {
  "homepage": "index.html"
} 
...

index.html загружается нормально на каждой новой вкладке.
Однако, новые окна и при запуске все, что я получаю, это пустая страница.

Я попытался вручную просто установить домашнюю страницу в настройках в качестве URL-адреса для index.html в качестве самого расширения, например:

moz-extension://1232131-32132131-321312-321321-321321/index.html

Поведение улучшается, ноне идеальноКогда я делаю это, новые окна загружаются index.html нормально, но при новом запуске (из закрытого приложения) я вижу только пустую страницу?

Есть идеи, что не так?Это происходит только в Firefox, хорошо в браузере Tor и Google Chrome.

1 Ответ

0 голосов
/ 28 сентября 2018

Оказывается, это происходило из-за того, что расширение не загружалось во время загрузки при загрузке нового окна.

Способ, которым я впервые обратился к этому, был в моем файле background.js:

function loadStart(){
    browser.tabs.update(
        {
            url: "index.html"
        }
    )
}

browser.runtime.onStartup.addListener(loadStart)

Однако, если активен параметр всегда использовать частный просмотр, приведенный выше код ничего не сделает, так как runtime.onStartup не срабатывает, если загружен профиль инкогнито / приватный просмотр.

Для противодействияthis:

function pushStart(data) {
    if (data == null) {
        loadStart()
    }
    else {
        console.log("tab is well defined")
    }
}

var currentTab = browser.tabs.getCurrent()

currentTab.then((data)=>(pushStart(data)))

Новое окно при новом запуске пытается загрузить страницу, связанную с расширением, но отключается, потому что само расширение не загружено и недоступно.
Следовательноприведенный выше код работает вокруг этого случая.

...