2010-12-10 77 views
0

我的代碼Chrome擴展錯誤 - 非法意外令牌

var o = JSON.parse(localStorage['options']); 

localStorage的[ '選項']這個特定的行是一個對象:

{"ads":true,"chat":true,"footer":true,"invite":true,"web":true,"contact":true,"window":true,"icon":t rue,"row":true,"message":true} 

如果我在option.html使用此代碼,沒有錯將會發生。但在background.html中,我收到錯誤「意外的非法令牌」。

我該怎麼辦?

回答

2

我懷疑你設置了browser網站上的值,而不是background網站上的值。

這兩個頁面有不同的window對象,因此有不同的localStorage所以會發生什麼是您的背景頁嘗試讀取未設置的值。

例子:

> localStorage['foo'] 
undefined 
> JSON.parse(undefined) 
SyntaxError: Unexpected token ILLEGAL 

要解決它,你需要在後臺頁面設置localStorage數據。