2011-06-29 87 views
1

使用JavaScript/HTML5的「LocalStorage」功能,如果您使用的是myDomain.com:81,並且您在本地存儲中設置了一個值,但重定向到myDomain.com,則本地存儲將會不同,並且該值將丟失。跨域存儲值

如何在瀏覽器中存儲跨所有域的簡單值?如果它有所不同,這是爲Chrome擴展。

+0

http://stackoverflow.com/questions/263010/whats-your-favorite-cross-domain-cookie-sharing-approach – Satish

+1

這些都沒有具體的例子......我想要做的就是暫時存儲一個字符串能夠在* * *不同*端口上的*相同*域中訪問它......我不能相信這是困難的...更不用說,我沒有真正談論cookie,而是從本地存儲延期。 – qJake

回答

4

Chrome擴展有自己專用的localStorage是在所有領域的工作。您可以通過從後臺頁面(或任何其他擴展頁面)訪問localStorage來使用它。

+0

如果我正在處理的頁面是注入頁面的內容腳本,該怎麼辦?或者...應該讓我的內容腳本在我的背景頁面上調用一個方法來保存並加載此值? – qJake

+0

@SpikeX是的,你需要在內容腳本和後臺頁面之間發送消息來檢索這些值。 – serg

+0

是的,那是爲我做的。謝謝。 – qJake

0

我會假設這隻能通過服務器端的東西。多個領域的重點在於它們是獨一無二的。

端口是一種不同的服務。例如不同的服務器。對不起,這只是它的方式。你不能有兩個不同的服務,並期望瀏覽器將它們視爲同一個服務。

+0

餅乾救援! Om nom nom。 –

1

您正在運行同源策略。你可以使用普通的瀏覽器cookies來實現你想要的 - 他們有更多寬鬆的限制,並且可以被指定爲跨子域,端口等共享。

+0

我會推薦此備份到localStorage,統一你的工作在一個簡單的獲取(設置)和設置(設置,價值)API –