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裏面,作爲腳本執行的參數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章