首页 > 解决方案 > 如何重新加载后台脚本?

问题描述

根据 MDN,

加载扩展程序后会立即加载后台脚本,并保持加载状态,直到扩展程序被禁用或卸载。

我的后台脚本会根据用户的选项更改其行为,存储在 localStorage 中。当用户更改选项(使用options_ui)时,localStorage 会更新,但由于后台脚本保持加载状态,因此不支持用户选项。如果重新加载浏览器,则支持选项。

用户更改选项后如何重新加载后台脚本?

标签: google-chrome-extensionfirefox-addon-webextensions

解决方案


如前所述,可以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'});

亲切的问候


推荐阅读