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 }); });
如果出于某种原因,您确实需要它成为一个页面,那么只需将该脚本包含为一个外部文件,并像以前一样将其声明为一个页面。