2011-07-07 37 views
1

在background.html的本地存儲中設置的值無法在使用manifest.json的content_script條目加載的javascript中訪問,反之亦然。這是localstorage的默認功能嗎?或者我錯過了什麼。localStorage變量作用域在background.html和content_script之間不同js文件

例如,如果我存儲了myscript.js中的值,該值是針對每個可在myscript.js中訪問的頁面加載注入的,當我試圖訪問background.html時,它說未定義。

當我在background.html中設置localstorage並嘗試訪問myscript.js時,我也遇到了同樣的情況,因爲它可以在創建或設置的頁面或腳本中訪問。

這是缺省行爲還是缺少某些東西?

+0

另見http://stackoverflow.com/questions/3937000/chrome-extension-accessing-localstorage-in-content-script – studgeek

回答

1

這是默認行爲。

注入普通網頁的內容腳本無法訪問您的分機的本地存儲。

而且您的擴展的清單也無法訪問本地存儲。

另見Do popup.html and background.html share the same local storage?

+0

所以當以往任何時候都需要我們,我們需要使用localStorage的值sendrequest獲取任何值。而且我們正在從content_scripts中保存localstorage中的值,那麼範圍...就可以在域中訪問......那麼範圍就會限制到我們打開的每個域? –

+0

我的意思是一個變量var sam設置爲abc.com將是abc.com的本地變量,而爲xyz.com設置的變量var sam將是xyz.com的本地變量......是這樣嗎? –

+0

據我所知,注入的內容腳本根本無法訪問本地存儲。所以是的,你需要使用消息傳遞來與你的背景頁面進行交流來設置或檢索變量。請務必閱讀有關內容腳本的限制:http://code.google.com/chrome/extensions/content_scripts.html –

相關問題