有誰知道是否有可能將一個對象分配給JavaScript中的cookie?如果是的話,我們該怎麼做?我們可以在javascript中將對象分配到cookie中嗎?
回答
如果你可以序列化你的對象到其規範的字符串表示,並且可以反序列化它放回從所述串表示它的對象的形式,然後是你可以把它變成一個cookie。
從您的earlier question判斷將window.open()
的結果存儲到cookie中,這不是您希望的答案。
它會工作,如果我把它存儲到會話與JavaScript? – 2009-08-14 05:57:51
我不認爲你可以存儲到JavaScript中的Session變量。 – rahul 2009-08-14 06:00:14
@Jin:你不能將瀏覽器窗口序列化爲任何一種規範的字符串表示,以後可以反序列化,所以不能將它存儲在cookie中,也不能將它存儲在會話中,也不能將它傳遞給服務器端代碼進行存儲,等等。 – 2009-08-14 06:12:40
Serializing Javascript Objects into Cookies
var expires = new Date();
expires.setDate(expires.getDate() + 7); // 7 = days to expire
document.cookie = "logintoken=somelogintoken;expires=" + expires.toGMTString();
我覺得只有4KB,所以你需要你的對象序列化到字符串不知何故被allowd到一個cookie
這並沒有真正回答這個問題,它只描述了一個cookie的假設功能... – newfurniturey 2013-12-19 14:53:36
餅乾店隻字符串值。並且當您從Cookie中讀取它時將其反序列化。然而,只有當你的對象有一些簡單的數據(字符串,數字,數組)時,這纔可以工作,並且肯定不能用於函數。我也不確定你爲什麼想這樣做。
您將需要序列化您的對象,然後將其寫爲文本。我會考慮使用JSON,因爲它很好的支持。
有一個很好的解析器here。你只需要調用JSON.stringify()方法。要使用JavaScript編寫,你需要以正確的格式追加一個字符串
window.document.cookie
餅乾該字符串應該是下面的格式
'name=cookiename; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
餅乾被設計成只能容納文本,所以如果你需要將您的對象序列化爲一個簡單的字符串,以便此工作。
在大多數瀏覽器上,cookies僅限於+ - 4096字節,因此您無法存儲太多信息。
這是一個辦法做到這一點,
- 序列化你的對象變成JSON。
- Base64對JSON進行編碼。
- 使用Base64編碼的字符串作爲cookie值。
只是在讀取cookie時顛倒過程。
由於需要引用Base64字符集,因此您必須使用版本1 cookie。如果您想使用舊的Netscape樣式cookie,則需要使用URL安全的Base64編碼器。
當然,這隻適用於小物件。
- 1. 我們可以分配對象值到標籤嗎?
- 2. JavaScript - 我們可以在cookies中設置javascript對象嗎?
- 3. 我可以將對象分配到下拉列表的值嗎?
- 4. 我可以對Ninject中的對象進行分段配置嗎?
- 5. 我可以將JavaScript對象存儲在mySQL數據庫中嗎?
- 6. 我可以將對象添加到JavaScript中的另一個對象嗎?
- 7. 我可以使用cookie保存JavaScript對象嗎?
- 8. 我們可以在C++中重新分配參考嗎?
- 9. 我可以在PyQt中將對象附加到QListWidgetItems嗎?
- 10. 我們可以將對象存儲在文件中供以後檢索嗎?
- 11. 我們可以在Blob中存儲org.apache.tomcat.websocket.WsSession對象嗎?
- 12. 我們可以在Kendo Grid中讀取複雜對象嗎?
- 13. 我們可以在wcf中返回類對象嗎?
- 14. 我們可以在C#項目中使用COM對象嗎?
- 15. 我可以將當前的nconf配置轉儲到對象嗎?
- 16. 我們可以創建對象到接口和抽象類嗎?
- 17. 我們可以分配日期到UIDatePicker
- 18. 你可以將通用對象分組到列表中嗎?
- 19. 我可以在Phonegap中使用Cookie嗎?
- 20. 我們可以在另一個DomDocument對象中嵌套DomDocument對象嗎?
- 21. 我可以用javascript連接對象嗎?
- 22. 我們可以將objectdatasource控件分配給數據集嗎?
- 23. Objective-C可以在運行時找到分配的對象嗎?
- 24. 我們可以在OnCreate()方法中將View對象作爲參數發送嗎?
- 25. 我可以將對象連接到iOS中的更多IBActions嗎?
- 26. 我可以將File對象保存到localstorage中嗎?
- 27. 在iOS上,我們可以從UIScreen對象到達主UIWindow對象嗎?
- 28. 我們可以分享網站身份驗證Cookie嗎?
- 29. 我可以分開JsonConvert對象嗎?
- 30. 我可以在javascript中爲'window'對象添加屬性嗎?
你應該編輯你的第一個問題:http://stackoverflow.com/questions/1275888/any-way-that-i-can-assign-window-openurl-into-cookies-array-in-javascript而不是開始一個新的。 – zombat 2009-08-14 05:58:11