Создание расширения Chrome для открытия ссылки на новой вкладке

Я хотел бы создать простое расширение 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"
    }
}

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

Ответ 1

Хорошо, в первую очередь, manifest.json(а не jason) имеет строгую структуру, вы не можете с ним общаться.

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

И что это.

Ответ 2

Упрощенное решение, вам не нужен 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, так как он добавляет предупреждение о разрешении: "Прочитайте историю просмотров", и это может смутить пользователя. Расширение все еще работает.

Ответ 3

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

  chrome.tabs.create

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

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

      });

 });