Chrome扩展程序:如何在新标签页中打开链接?

在我的Stackoverflow文件夹中,我有stackoverflow.ico和2个波纹pipe文件。 当将其导入到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> 

问题在于您违反了清单2的content security policy 。 要解决这个问题,你需要做的就是摆脱内联脚本,在这种情况下你的背景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 }); }); 

如果出于某种原因,您确实需要它成为一个页面,那么只需将该脚本包含为一个外部文件,并像以前一样将其声明为一个页面。