Расширения Google Chrome - открыть новую вкладку при нажатии значка на панели инструментов
Как создать расширение для Chrome, которое добавляет значок на панель инструментов, и при нажатии на него открывается новая вкладка с некоторой локальной веб-страницей (например, f.html)?
Я видел этот вопрос, но он на самом деле не объясняет, что я должен добавить в файл манифеста...
Ответы
Ответ 1
Это не относится к более новым приложениям Chrome.
Новые приложения Chrome с функцией manifest_version: 2
требует, чтобы вкладки открывались как:
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://www.youtube.com/watch?v=oHg5SJYRHA0";
chrome.tabs.create({ url: newURL });
});
Ответ 2
Хорошо, в расширениях docs, говорится в manifest, вам нужно будет включить "вкладки" в качестве своего разрешения. Точно так же они объясняют приветственное мировое приложение:
Файл манифеста:
{
"name": "My Extension",
"version": "1.0",
"description": "Opens up a local webpage",
"icons": { "128": "icon_128.png" },
"background_page": "bg.html",
"browser_action": {
"default_title": "",
"default_icon": "icon_19.png"
},
"permissions": [
"tabs"
],
}
В фоновой странице вы прослушиваете событие щелчка мыши в действии браузера.
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('f.html')}, function(tab) {
// Tab opened.
});
});
Как вы заметили выше, вы увидите, что я использовал вопрос, который вы видели в другом посте. Обратите внимание, что это не проверено, но я считаю, что он должен работать.
Ответ 3
chrome.tabs.create нужно разрешение "вкладок".
Просто используя window.open в расширении без каких-либо разрешений. и код короче. Я предлагаю это решение.
window.open(url,'_blank');