首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展background.js文件重新加载

Chrome扩展background.js文件重新加载
EN

Stack Overflow用户
提问于 2016-11-18 04:48:46
回答 1查看 2.5K关注 0票数 1

编辑

我的铬扩展名调用background.js文件中的api服务,我可以获得数据。但是在关闭浏览器窗口后,我无法从background.js文件中的api服务中获取数据。它显示为空值。当转到chrome://扩展名/并重新加载扩展时,我可以获得数据。

当关闭浏览器窗口时,获取的数据将被重置,而打开浏览器时,则不会获取数据。只有在重新加载扩展后才能从api中获取数据。

为什么会这样。有人对此有什么想法吗?

这是我的manifest.json文件

代码语言:javascript
复制
{
  "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'"
}
EN

回答 1

Stack Overflow用户

发布于 2016-11-18 06:01:39

除了重新打开浏览器或手动重新加载扩展名之外,您不能基于其他任何内容重新加载后台文件。您应该做的是让一个内容脚本告诉background.js在用户登录时再次运行getTaxonomyList

background.js:

代码语言:javascript
复制
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
    if (request.userLoggedIn) {
       getTaxonomyList().done(function(list) {
          sendResponse(list);
       });
    }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40669568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档