Расширения Google Chrome - открывайте новую вкладку при нажатии значка на панели инструментов - PullRequest
67 голосов
/ 06 июля 2010

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

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

Ответы [ 3 ]

91 голосов
/ 04 февраля 2013

Это не относится к новым приложениям 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 });
});

51 голосов
/ 06 июля 2010

Ну, в документах расширений , в манифесте указано, что вам нужно включить "табуляции" в качестве разрешения.Точно так же они объясняют приложение hello world:

Файл манифеста:

{
  "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.
  });
});

Как вы заметили выше, вы увидите, что я использовал вопрос, который вы видели в другом посте.Обратите внимание, это не проверено, но я считаю, что оно должно работать.

5 голосов
/ 07 февраля 2015

chrome.tabs.create требуется разрешение "tabs".

Просто используйте window.open в расширении без необходимости какого-либо разрешения.и код короче.Я предлагаю это решение.

window.open(url,'_blank');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...