Google chrome extension Chrome扩展:如何在用户更改/重新加载页面时不丢失我的扩展的状态

Google chrome extension Chrome扩展:如何在用户更改/重新加载页面时不丢失我的扩展的状态,google-chrome-extension,Google Chrome Extension,我目前正在开发一个分为不同部分的扩展: -背景脚本Chrome background.js -内容脚本Chrome content-script.js -弹出脚本popup.js并从iFrame加载 -当用户激活扩展时要加载的iframe.html iframe 它工作得很好,只是当用户更改页面或在选项卡中重新加载页面时,我丢失了弹出脚本中用于在iframe中显示信息的所有设置/上下文 从技术上讲,我想隔离每个选项卡的扩展,每个选项卡都可以有自己的配置,但是当用户在同一个选项卡中导航时,应该保留

我目前正在开发一个分为不同部分的扩展: -背景脚本Chrome background.js -内容脚本Chrome content-script.js -弹出脚本popup.js并从iFrame加载 -当用户激活扩展时要加载的iframe.html iframe

它工作得很好,只是当用户更改页面或在选项卡中重新加载页面时,我丢失了弹出脚本中用于在iframe中显示信息的所有设置/上下文

从技术上讲,我想隔离每个选项卡的扩展,每个选项卡都可以有自己的配置,但是当用户在同一个选项卡中导航时,应该保留上下文

问题是:实现这一目标的最佳方式是什么


我正在考虑在内容脚本中保留所有上下文,并在触发事件chrome.tabs.onUpdated时重新加载它。这是正确的方法吗?

我建议您阅读。您可以在那里存储数据,后台和内容脚本都可以访问它。
也许你需要在背景和内容之间进行对话。每次内容脚本在选项卡中运行时,它都可以请求后台,无论该选项卡是否具有某些现有数据。

听起来好像您认为内容脚本在页面导航后会继续运行,但事实并非如此。内容脚本-就像自己的页面脚本一样-运行直到页面被后续导航破坏。无论如何,现代的方法是在任何更改时保存状态,而不是在卸载时保存状态。非常感谢,我不知道存储API。