Chrome.storage和HTML5中localStorage的差異

摘自某本電子書,地址已經找不到了。


Chrome爲擴展應用提供了存儲API,以便將擴展中需要保存的數據寫入本地磁盤。Chrome提供的存儲API可以說是對localStorage的改進,它與localStorage相比有以下區別:

·        如果儲存區域指定爲sync,數據可以自動同步;

·        content_scripts可以直接讀取數據,而不必通過background頁面;

·        在隱身模式下仍然可以讀出之前存儲的數據;

·        讀寫速度更快;

·        用戶數據可以以對象的類型保存。

對於第二點要進一步說明一下。首先localStorage是基於域名的,這在前面的小節中已經提到過了。而content_scripts是注入到用戶當前瀏覽頁面中的,如果content_scripts直接讀取localStorage,所讀取到的數據是用戶當前瀏覽頁面所在域中的。所以通常的解決辦法是content_scripts通過runtime.sendMessage和background通信,由background讀寫擴展所在域(通常是chrome-extension://extension-id/)的localStorage,然後再傳遞給content_scripts

發佈了103 篇原創文章 · 獲贊 19 · 訪問量 81萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章