4

我寫了一個Chrome擴展。我無法使用 localStorage.setItemlocalStorage.getItem進行存儲和檢索,因爲背景和瀏覽器操作在不同的環境中運行[as seen here]。未捕獲TypeError:無法讀取鉻擴展中未定義的屬性'local'

所以我決定使用Chrome存儲API:

var storage = chrome.storage.local; 
var myTestVar = 'somevar'; 
var obj = {}; 
obj[myTestVar] = $("#somevar").val(); 
storage.set(obj); 

這將產生以下錯誤:

Uncaught TypeError: Cannot read property 'local' of undefined

我在做什麼錯?

+1

你加'「存儲」'[權限] (http://developer.chrome.com/extensions/declare_permissions.html)到您的清單文件? – 2013-02-27 14:01:48

+0

它做我的工作.... !!!謝謝你可以發佈它作爲answer.i'll接受它 – 2013-02-27 14:13:06

回答

8

確保清單文件中聲明瞭所有必需的permissions"storage",在你的情況。

一般情況下,請按照如下步驟顯然是不確定的Chrome的API的問題:

  1. 瞭解您所使用的API的文檔,並讓自己熟悉的先決條件,通常表現權限(e.g. chrome.storage#manifest) ,
  2. 查看What's new,檢查您的(用戶)Chrome版本是否支持該API。
  3. 檢查腳本是否在正確的context中運行。大多數API僅適用於擴展程序的過程。 (該chrome.storage API也可以在內容腳本中使用雖然)
  4. 否則,再打你平時的調試技巧:錯字,變陰影,...
相關問題