Получить идентификатор вкладки для обновления после создания - PullRequest
0 голосов
/ 18 октября 2018

Когда браузер создает новую вкладку, он начинает пустой, а затем обновляется с about:blank или about:newtab.Мне нужен JavaScript, чтобы иметь возможность обновить это в расширении.

В настоящее время у меня есть;

browser.tabs.onCreated.addListener(handleCreated);
browser.tabs.onUpdated.addListener(handleUpdate);

Это позволяет мне знать, когда создается новая вкладка, а затем, когда она обновляется.После этого мне нужно иметь возможность обновить его снова примерно так:

 var TabReplacement = {url: 'https://mycompany.com/newtab.html'};
    browser.tabs.update(TabReplacement);

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

Не могли бы вы обновить вкладку сразу или получить идентификатор вкладки, а затем обновить черезидентификатор вкладки?

TLDR;Мне нужна та же функция, что и:

{
  "name": "My extension",
  ...

  "chrome_url_overrides" : {
    "about:newtab": "https://www.google.com"
  },
  ...
}

Имеется в файле манифеста Chrome, но это невозможно с помощью edge.

Заранее спасибо:)

1 Ответ

0 голосов
/ 18 октября 2018

Исходя из того, что я понимаю, я полагаю, что вы запрашиваете что-то вроде этого, где вы хотите использовать Tab Id для обновления вкладки.

function handleCreated(tab) {
var tabReplacement = {url: 'https://mycompany.com/newtab.html'}
    browser.tabs.update(tab.id,tabReplacement);
}

function handleUpdated(tab) {
var tabReplacement = {url: 'https://mycompany.com/newtab.html'};
    browser.tabs.update(tab.id,tabReplacement);
}

Вы также можете получить индекс вкладки, если хотитеиспользовать его, как показано ниже: browser.tabs.query ({index: 1})

...