google-chrome-extension - 如何重新加载后台脚本?
问题描述
根据 MDN,
加载扩展程序后会立即加载后台脚本,并保持加载状态,直到扩展程序被禁用或卸载。
我的后台脚本会根据用户的选项更改其行为,存储在 localStorage 中。当用户更改选项(使用options_ui
)时,localStorage 会更新,但由于后台脚本保持加载状态,因此不支持用户选项。如果重新加载浏览器,则支持选项。
用户更改选项后如何重新加载后台脚本?
解决方案
如前所述,可以chrome.runtime.reload()
,但最好向后台脚本发送消息并更新。
像这样的东西:
chrome.runtime.onMessage.addListener( function(request, sender)
updateOption(request.option1)
});
在 option.js 中:
chrome.storage.sync.set({'option1': 'new_value'}); ....
chrome.tabs.sendMessage(tab, {option1: 'new_value'});
亲切的问候
推荐阅读
- javascript - 如何使用 jquery 和 codeigniter 在 foreach 中获取按钮值?
- angular - 如何以角度构造密码重置密码页面的URL
- django - 从最接近日期的对象获取标题,django模型
- c# - EF Core 查询 Where 子句是一个集合?
- c++ - QLabel 像视频一样显示图像
- c# - 声明非空字符串时,C# 是否隐式分配空字符串?
- pywin32 - 无法通过pywinauto点击树元素
- excel - VLOOKUP 将两个表合并为一个
- spring - 如何使用 grails 知道响应拦截器中有效负载的大小
- javascript - 在 Express.js 应用程序中从 index.js 文件中排除默认路由