Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何使我的Chrome扩展只需点击一次即可激活默认弹出窗口? 资料:_Json_Google Chrome Extension - Fatal编程技术网

Json 如何使我的Chrome扩展只需点击一次即可激活默认弹出窗口? 资料:

Json 如何使我的Chrome扩展只需点击一次即可激活默认弹出窗口? 资料:,json,google-chrome-extension,Json,Google Chrome Extension,我正在为Google Chrome做一个扩展,它在点击按钮时从按钮弹出.html文件中插入一个日历事件,该文件在点击扩展图标时出现 目前,当我第一次安装扩展时,出于某种原因,第一次单击Chrome任务栏中的图标似乎没有什么作用-我需要再次单击图标,以使清单文件中定义为默认弹出窗口的HTML页面出现 我已经查看了扩展文档,但找不到任何相关的内容 问题: 是否有我忽略的设置需要添加到我的manifest.json文件中,以便在第一次单击时而不是第二次单击时显示默认弹出窗口 代码: manifest.

我正在为Google Chrome做一个扩展,它在点击按钮时从
按钮弹出.html
文件中插入一个日历事件,该文件在点击扩展图标时出现

目前,当我第一次安装扩展时,出于某种原因,第一次单击Chrome任务栏中的图标似乎没有什么作用-我需要再次单击图标,以使清单文件中定义为默认弹出窗口的
HTML
页面出现

我已经查看了扩展文档,但找不到任何相关的内容

问题: 是否有我忽略的设置需要添加到我的
manifest.json
文件中,以便在第一次单击时而不是第二次单击时显示
默认弹出窗口

代码:
manifest.json

{
“名称”:“我的Chrome扩展”,
“密钥”:“修订密钥”,
“版本”:“0.0.4”,
“描述”:“关于我的分机的酷信息”,
“权限”:[“标识”],
“背景”:{
“脚本”:[
“background.js”
]
},
“内容安全策略”:“脚本src'self”“已编辑哈希”https://apis.google.com;对象src“self”,
“浏览器操作”:{
“默认弹出窗口”:“button popup.html”
},
“oauth2”:{
“客户id”:“修订的客户id”,
“范围”:[
"https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/userinfo.email"
]
},
“图标”:{
“16”:“16.png”,
“32”:“32.png”,
“48”:“48.png”,
“128”:“128.png”
},
“清单版本”:2
}
background.js:

chrome.browserAction.onClicked.addListener(函数(选项卡){
chrome.browserAction.setPopup({popup:'button popup.html'});
});
回答: 这只是一个输入错误——正如wOxxOm在评论中指出的那样,
default popup
应该是
default\u popup

推荐:

尝试将“activeTab”添加到manifest.json中的“permissions”数组中。@wOxxOm添加并重新加载了扩展,但行为没有改变;我仍然需要单击图标两次以查看
默认弹出窗口
。我认为
activeTab
只有在我想的时候才需要,而不是对点击按钮打开的
html
文件产生影响。我的想法是Chrome在“想要访问活动选项卡”模式下显示图标,因为您描述的行为没有其他API特定的原因。这可能意味着在显示弹出窗口的代码中有一个bug。@wOxxOm啊,这是一个很好的观点——我还没有看过。我将再次研究chrome方法,但在此之前,我已经用
background.js
更新了我的帖子,以提高可见性。1)这只是一个打字错误:
默认弹出窗口
应该是manifest.json中的
默认弹出窗口
。2) 当指定默认的弹出窗口时,browserAction.onClicked将无法在后台脚本中工作(因为它不是必需的-您可以将代码放入弹出窗口js中)。