Pri*_*ata 3 javascript json google-chrome google-chrome-extension
我是chrome扩展程序的新手,我在编写第一个chrome扩展程序时遇到了麻烦.我要做的是检测新的标签操作并重定向到预定义的(我的网页)网址.
我写了manifest.json和background.html,但它似乎不起作用.我浏览了关于功能以及如何使用它们的谷歌论文,但必须有一些我错过的东西.
我不太了解我在这里做过的一些事情,例如manifest.json中的内容脚本.
一些帮助解决这个问题将不胜感激.
编辑

EDIT2 这是更新的代码现在我没有background.html文件.的manifest.json
{
"name": "Tabber",
"manifest_version" : 2,
"version": "1.0",
"description": "MyExtension",
"background" : {
"scripts": ["code.js"]
},
"chrome_url_overrides": {
"newtab": "code.js"
},
"permissions": [
"tabs"
]
}
Run Code Online (Sandbox Code Playgroud)
code.js
<script>
chrome.browserAction.onClicked.addListener(function(tab){
var action_url = "www.xyz.com"
chrome.tabs.create({ url: action_url });
}
</script>
Run Code Online (Sandbox Code Playgroud)
现在当我打开一个新选项卡时,我会看到显示的.js文件的来源.截图:

为什么脚本没有被执行?
如果你想超越默认页面,你应该使用html文件,而不是js文件.如果您只想过度翻页,则不需要任何后台页面或内容脚本.以下是示例代码:
menifest.json:
{
"name": "Tabber",
"manifest_version" : 2,
"version": "1.0",
"description": "MyExtension",
"chrome_url_overrides": {
"newtab": "my.html"
},
"permissions": [
"tabs"
]
}
Run Code Online (Sandbox Code Playgroud)
my.html:
<!DOCTYPE html>
<html>
<head>
<title>over ride page</title>
<script type="text/javascript" src="code.js">
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
code.js:
window.open("http://www.google.com", "_self");
Run Code Online (Sandbox Code Playgroud)
注意:你不能在你的html文件中写任何js.您需要在html文件中包含js文件.
而且,您甚至不需要任何js文件.只需将my.html修改为:
<head>
<meta http-equiv="refresh"content="0;URL=http://www.google.com">
</head>
Run Code Online (Sandbox Code Playgroud)