Chrome扩展程序 - 在整个网站中保存设置并刷新页面 [英] Chrome Extension - Having settings saved throughout the site and through refreshing the page

查看:181
本文介绍了Chrome扩展程序 - 在整个网站中保存设置并刷新页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在这里问,为什么我的chrome扩展能够在整个用户刷新页面并在选择功能后更改页面时生存。 >例如,让我们使用一个相当通用的背景颜色更改设置,它可以更改所需站点的背景颜色。一旦勾选启用框并将背景更改为所选选项,则更改页面或刷新后不会保持持久性。我在这里问是否有人可以用某种比developer.chrome网站更有用的有用资源来帮助我。



编辑:为我的问题更好的例子,这是我的不好。如果你们中的任何人都知道像Twitch的BetterTTV这样的扩展,它有一个选项菜单。其中一种选择是前面提到的夜间选项,将整个网站变成夜色,如白色,黑色和黑色文本。这个选项一旦启用,整个网站都可以看到,即使关闭了Chrome,仍然可以在下次打开时生成更改。如果我在理解所说的内容时是正确的,那么使用Chrome存储空间将保留用户在页面上生成直到禁用的这些操作。



谢谢。

解决方案

内容脚本可以存活同时网页保留在选项卡中(即不通过刷新或导航到新页面)。你不能再延长这个时间。从Chrome启动到退出时,Chrome会运行一段后台脚本。如果您想保存设置,可以使用 chrome.storage ,或将设置存储在后台页面中。然后,您可以读取设置,或从背景页面获取设置,当页面刷新时您的内容脚本再次启动,或者用户导航到新页面时,您可以获取它们。使用 chrome.storage 将允许您保持该选项,直到关闭。使用 chrome.storage ,即使稍后退出并重新启动Chrome,选项信息仍然可用。如果您只是将数据存储在后台页面中的变量中,则不会通过退出并重新启动Chrome来保存。



如果要更改内容脚本中的设置,将只会与内容脚本一样长,除非您在某处获得信息,否则会持续更长时间。这意味着 chrome.storage 将信息传递给后台脚本。无论哪种方式,如果您希望在内容脚本下一次运行(刷新,导航)时使设置处于活动状态,您将不得不返回设置(例如,从 chrome.storage 或从后台脚本接收消息)。



通常,更改内容脚本中的选项可能不是一个好主意。在内容脚本中完成此类操作并不常见。另一方面,根据你在做什么,在内容脚本中改变你的一些扩展的选项可能是最合适的。



如何最好地组织这取决于你在做什么。进一步确实需要更多的信息(例如,显示你在做什么的代码)。尽管通常不会从内容脚本中更改设置,但有很多示例仍然存在。设置大多是从选项页面,弹出窗口等改变而来。



如果您的功能与勾选启用框并将背景更改为选定选项一样简单,则在内容脚本中进行选择并不是一个好主意。在这种情况下,您应该有 browser_action 按钮,它可以是一个切换按钮,也可以弹出一个复选框被勾选(如果您有多个选项)。后台脚本会使用 chrome.tabs注入内容脚本。只有启用该功能时,才能执行

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆