chrome插件开发之:关于一些设定变量以及变量存储的问题

关于一些设定变量以及变量存储的问题:
1 如果是同域的:
如果是回话的,可以用H5的:sessionStorage存储。存储格式是key-value,就是map的形式。sessionStorage.setItem/getItem等获取。
如果是非会话,要存在本地的,可以用:localStorage存储!
(一个理解:不同域的是不可以相互访问:
找到问题的原因了,可能是两次访问相同的站点认为的域不同导致的,比如www.meiprocess.cn和meiprocess.cn虽然实质上是一个站点,但在web中却认为是不同的。
在网页加载时显示的指定域就可以解决问题,例如document.domain = ‘meiprocess.cn’)
简单来说,无论是sessionStorage还是localStorage,都无法超越域的限制!
2 如果是不同域的,则不可以用上面的,否则另外一个域试图访问这个key的时候,无值。
如果是会话的,可以考虑用cookie来存储。不过存储的数据量少得可怜。可以用document.cookie看。
关于storage的作用域的说明:https://segmentfault.com/a/1190000004121465
http://www.cnblogs.com/junfly/p/4066041.html
http://www.th7.cn/web/js/201501/75869.shtml
有点忘记cookie和服务器的状态有什么关系了。找空再看看。
这里有办法可以实现不同域名直接的数据互通(利用chrome插件的运行空间对应的localStorage):http://www.th7.cn/web/js/201504/99265.shtml
值得说明的是,我开发的一键购物助手,里面的设定,就是用这个逻辑来处理的:用户的设定的值是用localStorage存在chrome插件的运行空间里面。然后,将这个值通过msg传到content_script里面,作为脚本执行的参数。

你可能感兴趣的:(chrome插件开发)