#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 серьезно нарушена, но это неудивительно: известно, что встроенные параметры расширения ужасно обрабатываютсяразличные браузеры, каждый браузер имеет свой собственный набор супер раздражающих причуд в этом отношении.