Создание расширения 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) {
});
});