Какая эквивалентная команда для закрытия chrome.runtime.openOptionsPage?

#javascript #google-chrome-extension

#javascript #google-chrome-extension

Вопрос:

В расширении Chrome что эквивалентно close для chrome.runtime.openOptionsPage? Я пробовал:

 window.close();
 

и

 chrome.runtime.closeOptionsPage();
 

Это должно быть вызвано из самой страницы параметров.

Обновить

Согласно wOxxOm в комментариях ниже, «window.close ()» должен работать. Так что это может быть ошибка в моем браузере Edge.

wOxxOm предложил использовать «chrome.tabs.remove». Однако я получаю сообщение об ошибке, используя его таким образом из скрипта параметров:

 chrome.tabs.getCurrent(function(tab) {
  chrome.tabs.remove(tab.id, function() { });
});

Error handling response: TypeError: Cannot read property 'id' of undefined
 

Комментарии:

1. window.close() — правильный метод, и он работает на странице параметров, поэтому, если он не сработал для вас, это означает, что ваш код был каким-то образом неправильным.

2. Может быть ошибка в Edge.

3. Это в веб-скриптах, но скрипты расширений не связаны этим ограничением. По крайней мере, в расширениях Chrome.

4. В любом случае, вы можете просто закрыть вкладку через chrome.tabs.remove API.

5. Судя по ошибке, может быть два объяснения: 1) вы запускаете этот код в контексте без вкладок, например, на фоновой странице, т.Е. Ваш код неверен или 2) Реализация Edge серьезно нарушена, но это неудивительно: известно, что встроенные параметры расширения ужасно обрабатываютсяразличные браузеры, каждый браузер имеет свой собственный набор супер раздражающих причуд в этом отношении.