Создание расширения Chrome для открытия ссылки в новой вкладке - PullRequest
10 голосов
/ 31 марта 2012

Я хотел бы создать простое расширение Chrome, которое при нажатии открывает URL в новой вкладке браузера. Это то, что у меня есть для manifest.jason

{
    "name": "Sprout Social",
    "description": "Shortcut to Sprout Social",
    "permissions": [
        "tabs"
    ],
    "icons": {
        "128": "128.png"
    },
    "launch": {
        "web_url": "http://www.sproutsocial.com"
    }
}

Любая помощь будет отличной.

Ответы [ 3 ]

15 голосов
/ 31 марта 2012

Хорошо, во-первых, manifest.json (не Джейсон) имеет строгую структуру, с ней нельзя связываться.

https://developer.chrome.com/extensions/manifest.html

Вам необходимо создать расширение действия браузера, это означает, что ваше расширение будет иметь кнопку рядом с кнопкой инструмента.

https://developer.chrome.com/extensions/browserAction.html

Вам не нужен popup.html, вы можете пропустить эту часть. Вам нужно написать свою фоновую страницу, многие называют ее background.html Этот HTML-файл будет содержать ваш код в следующем виде:

<html><head><script> your script here (use as many lines as you want)  </script></head>/html>

Этот HTML никогда не будет отображаться.

И код может быть любым, как вы хотите, как код в другом ответе:

chrome.browserAction.onClicked.addListener(function() {
    chrome.tabs.create({'url': "http://www.sproutsocial.com"});
});

И это все.

5 голосов
/ 21 марта 2015

Более простое решение, вам не нужен HTML.

Добавьте это в manifest.json

"browser_action": {
    "default_icon": "images/icon38.png",
    "default_title": "Your title"
},
"background": {
    "scripts": ["background.js"],
    "persistent": false
}

Создайте background.js файл с этим кодом:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.create({ url: "http://www.yoursite.com" });
});

Примечание. Я не добавляю "permissions": ["tabs"] в manifest.json, поскольку он добавляет предупреждение о разрешении: «Чтение истории просмотров», что может сбить пользователя с толку.Расширение все еще работает.

2 голосов
/ 31 марта 2012

Я думаю, что метод, который вы хотите определить в своей схеме:

  chrome.tabs.create

 chrome.browserAction.onClicked.addListener(function() {

      chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {

      });

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