0

作爲一個簡單的例子,假設我想在每個網頁的底部插入一個單詞,並且我希望用戶能夠更改該單詞。所以我有一個選項頁面(在擴展名內),我在其中輸入用戶名並使用它來調用「localStorage.preferences = x;」。如何存儲Google Chrome擴展程序的偏好設置?

接下來,用戶導航到http://www.google.com/,然後我注入一個腳本,該腳本將localStorage.preferences中找到的單詞寫入。問題是,由於我現在處於不同的域,因此我看到google.com的localStorage,而不是我的擴展。

如何在我的擴展程序的選項頁面和注入某個第三方網頁的腳本之間共享數據?

+0

它不可能,因爲它違反了跨域策略。這可能會有所幫助:http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/ – codef0rmer 2012-04-12 05:22:19

回答

2

這不是對你的問題最直接的迴應,但是一種可能解決這個問題的方法是使用message passing假冒從另一個域直接訪問本地存儲。假設您正在內容腳本的上下文中運行Javascript,則可以將消息傳遞給後臺頁面以詢問密鑰,該密鑰將返回localStorage的內容。

+0

我非常熟練使用Chrome擴展開發,並且打算給出確切的答案。消息傳遞絕對是要走的路。 – 2012-04-12 07:05:23

相關問題