默认情况下如何在新标签页中打开chrome-extension?不像现在那样在新的弹出窗口中出现。
我有:
//manifest.json
{
...
"background": {
"scripts": ["js/background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Test Viewer v.1.0",
"default_icon": "icon.png",
"default_popup": "index.html"
},
"permissions": [
"unlimitedStorage",
"notifications",
"activeTab",
"tabs",
"https://docs.google.com/*",
"downloads"
]
...
}
和
//background.js
chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.create({
url: ("index.html"),
type: "normal"
});
});
在文档https://developer.chrome.com/extensions/windows中,此类型被指定为type: "normal"
,用于打开正常的浏览器窗口"如我所愿,但它不起作用。
哪里出错?
答案 0 :(得分:1)
摆脱default_popup
。声明性地存在此属性意味着您希望在单击时打开扩展的弹出窗口。
只要browser_action
部分存在,您就可以使用chrome.browserAction.onClicked
事件来运行处理程序。
答案 1 :(得分:0)
1)我已经通过@Josh Lee的建议删除了default_popup
中的manifest.json
属性,并且在background.js
中使用了此代码:
chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.create({
'url': chrome.runtime.getURL("index.html#window")
});
});