Подтвердить что ты не робот

Расширения Google Chrome - открыть новую вкладку при нажатии значка на панели инструментов

Как создать расширение для Chrome, которое добавляет значок на панель инструментов, и при нажатии на него открывается новая вкладка с некоторой локальной веб-страницей (например, f.html)?

Я видел этот вопрос, но он на самом деле не объясняет, что я должен добавить в файл манифеста...

4b9b3361

Ответ 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');