Расширение Chrome: как открыть ссылку на новой вкладке?
В моей папке Stackoverflow у меня есть stackoverflow.ico
и 2 bellow файла. Когда вы импортируете его в Chrome, он показывает значок в адресной строке, но когда я нажимаю на него, Chrome не открывает никаких новых вкладок. Что я делаю неправильно?
manifest.json
{
"name": "Stackoverflow",
"version": "1",
"browser_action":
{
"default_icon": "stackoverflow.ico"
},
"background":
{
"page": "index.html"
},
"permissions": ["tabs"],
"manifest_version": 2
}
index.html
<html>
<head>
<script>
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://stackoverflow.com/";
chrome.tabs.create({ url: newURL });
});
</script>
</head>
</html>
Ответы
Ответ 1
Проблема в том, что вы нарушаете манифест версии 2 content security policy
. Исправить все, что вам нужно сделать, это избавиться от встроенного script, в данном случае вашего фона page
. Поверните его в фоновый рисунок script
следующим образом:
manifest.json
"background":{
"scripts": ["background.js"]
},
background.js
chrome.browserAction.onClicked.addListener(function(activeTab){
var newURL = "http://stackoverflow.com/";
chrome.tabs.create({ url: newURL });
});
Если по какой-то причине вам нужно, чтобы это была страница, просто добавьте script в качестве внешнего файла и объявите его как страницу, как раньше.