Расширение Chrome: значок расширения onclick, открыть popup.html на новой вкладке
Я создал расширение chrome и смог открыть файл popup.html
, используя window.open
. однако я хочу открыть его на новой вкладке, я пробовал много разных способов, включая:
<script type="text/javascript" language="JavaScript">
chrome.tabs.create('url': 'popup.html');
Я просто помещаю код в неправильное место или вообще не ошибаюсь?
Ответы
Ответ 1
почему вы хотите открыть popup.html на новой вкладке? Для этого вам нужно создать другую страницу. В любом случае, если вы хотите открыть popup.html, на новой вкладке вам нужно будет передать URL-адрес расширения.
http://code.google.com/chrome/extensions/extension.html#method-getURL
chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
// Tab opened.
});
Ответ 2
Теперь вы можете использовать Страницы событий, чтобы открыть popup.html в новой вкладке, когда нажата кнопка расширения, не создавая страницу default_popup.
манифеста:
"background": {
"scripts": ["background.js"],
"persistent": false
}
JS:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('popup.html'), 'selected': true});
});
Ответ 3
Использовать chrome.tabs.create(свойства объекта, обратный вызов функции), как описано в http://code.google.com/chrome/extensions/tabs.html
Свойства объекта могут содержать поля для windowId, index, url и selected. Опциональная функция обратного вызова получает объект Tab недавно созданной вкладки.
Итак, самый простой пример создания новой вкладки в текущем окне и выбор ее будет выглядеть следующим образом:
chrome.tabs.create({'url': chrome.extension.getURL('popup.html'), 'highlighted': 'true'});
Не уверен, почему вы хотите показать popup.html на новой вкладке, но я нахожу это очень полезным при разработке/отладке моего расширения... Это довольно боль, что на странице расширения есть "обычно", только ссылка на справочную страницу.
Хотелось бы узнать, как открыть его в новом окне и, возможно, в режиме киоска; -)