Javascript 重新加载Chrome扩展名background.js文件
编辑 我的chrome扩展在background.js文件中调用api服务,我可以获取数据。但是在关闭浏览器窗口后,我无法从background.js文件中的api服务获取数据。它显示空值。什么时候去医院chrome://extensions/ 然后重新加载扩展,我就可以得到数据了 关闭浏览器窗口时,将重置获取的数据;打开浏览器时,将不获取数据。只有在重新加载扩展后,才能从api获取数据 为什么会这样。有人知道这件事吗 这是我的manifest.json文件Javascript 重新加载Chrome扩展名background.js文件,javascript,google-chrome-extension,Javascript,Google Chrome Extension,编辑 我的chrome扩展在background.js文件中调用api服务,我可以获取数据。但是在关闭浏览器窗口后,我无法从background.js文件中的api服务获取数据。它显示空值。什么时候去医院chrome://extensions/ 然后重新加载扩展,我就可以得到数据了 关闭浏览器窗口时,将重置获取的数据;打开浏览器时,将不获取数据。只有在重新加载扩展后,才能从api获取数据 为什么会这样。有人知道这件事吗 这是我的manifest.json文件 { "manifest_vers
{
"manifest_version": 2,
"icons": {
"16": "images/icon16.png",
"32": "images/icon32.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"name": "Test",
"short_name": "Test",
"description": "Test",
"version": "3.0.0",
"background": {
"scripts": [
"build/background-bundle.js"
]
},
"browser_action": {
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"cookies",
"storage",
"activeTab",
"http://*/",
"https://*/"
],
"content_scripts": [{
"matches": [
"<all_urls>"
],
"js": [
"build/content-bundle.js"
],
"run_at": "document_end"
}],
"options_ui": {
"page": "options.html",
"chrome_style": true
},
"content_security_policy": "script-src 'self' https://www.google-analytics.com/analytics.js https://api.algorithmia.com/v1/algo/algo://nlp/SummarizeURL/0.1.1; object-src 'self'"
}
{
“清单版本”:2,
“图标”:{
“16”:“images/icon16.png”,
“32”:“images/icon32.png”,
“48”:“images/icon48.png”,
“128”:“images/icon128.png”
},
“名称”:“测试”,
“短名称”:“测试”,
“说明”:“测试”,
“版本”:“3.0.0”,
“背景”:{
“脚本”:[
“build/background bundle.js”
]
},
“浏览器操作”:{
“默认弹出窗口”:“popup.html”
},
“权限”:[
“标签”,
“饼干”,
“存储”,
“活动标签”,
“http://*/”,
“https://*/”
],
“内容脚本”:[{
“匹配项”:[
""
],
“js”:[
“build/content bundle.js”
],
“运行时间”:“文档结束”
}],
“选项界面”:{
“页面”:“options.html”,
“chrome_风格”:真实
},
“内容安全策略”:“脚本src'self”https://www.google-analytics.com/analytics.js https://api.algorithmia.com/v1/algo/algo://nlp/SummarizeURL/0.1.1;对象src“self”
}
除了重新打开浏览器或手动重新加载扩展名之外,您不能基于任何其他内容重新加载背景文件。您应该做的是让内容脚本在用户登录时告诉background.js再次运行getTaxonomyList
background.js:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.userLoggedIn) {
getTaxonomyList().done(function(list) {
sendResponse(list);
});
}
})
上面的“下一个版本”是什么意思?你在上面的什么地方“根据用户登录id‘下一版本’传递一些附加数据意味着——下一版本的扩展。将基于用户cookie获取数据。正在后台脚本中获取sample-api-call。Chrome扩展后台脚本不与浏览器选项卡共享cookie,所以我认为这部分不起作用。有关更多信息,请参阅