在后台页面中,我们可以使用以下命令检测扩展更新chrome.runtime.onInstalled.addListener
.
但是扩展程序更新后,所有内容脚本都无法连接到后台页面。我们得到一个错误:Error connecting to extension ....
可以使用以下命令重新注入内容脚本chrome.tabs.executeScript
...但是,如果我们有一个敏感数据应该在更新前保存并在更新后使用怎么办?我们能做什么?
此外,如果我们重新注入所有内容脚本,我们应该正确拆除以前的内容脚本。
是什么proper如何在不丢失用户数据的情况下处理内容脚本的扩展更新?
如果您已通过以下方式建立了联系var port = chrome.runtime.connect(...)
(如描述https://developer.chrome.com/extensions/messaging#connect https://developer.chrome.com/extensions/messaging#connect),应该可以听到runtime.Port.onDisconnect
event https://developer.chrome.com/extensions/runtime#property-Port-onDisconnect:
tport.onDisconnect.addListener(function(msg) {...})
在那里你可以做出反应,例如应用某种记忆,让我们说通过localStorage
。但总的来说,我建议保持内容脚本尽可能小,并在后台执行所有数据操作,让内容仅收集/传递数据并在需要时呈现一些状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)