使用 jquery 在 cookie 中存储和检索 div
好的, 所以我使用 jquery 创建一个 cookie 并在其中存储一个 div。 这个 div 有很多格式、其他 div、文本等。
var rentContainer = document.createElement('div');
rentContainer.setAttribute("class","module");
var carContainer = document.createElement('div');
carContainer.setAttribute("class","carRentContainer");
rentContainer.appendChild(carContainer);
.... and a lot of other things go in this rentContainer div
现在将其保存在 cookie 中,
$.cookie('rented_car', rentContainer);
到目前为止一切看起来都很好。
当刷新页面并加载正文时,现在是时候获取此 div 并将其显示在页面上(具有相同的格式、结构等)。
所以在我的函数中我有
var rented_car_cookie = $.cookie("rented_car");
if(rented_car_cookie){
document.getElementById('rentit').appendChild(rented_car_cookie);
//rentit is already defined and exists on the page. All I need is to add the cookie div content on it.
,但这给了我一条错误消息
已达到 Firebug 的日志限制。 0 个条目未显示。偏好设置
未捕获的异常:[异常...“无法转换 JavaScript 参数 arg 0 [nsIDOMHTMLDivElement.appendChild]” nsresult:“0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)”位置:“JS 框架 :: iGo.js :: checkCookies :: 第 10 行”数据:没有]
请帮忙。最好的方法是什么?
Ok,
So I am creating a cookie using jquery and storing a div in it.
This div has a lot of formatting,other divs,text ,etc in it.
var rentContainer = document.createElement('div');
rentContainer.setAttribute("class","module");
var carContainer = document.createElement('div');
carContainer.setAttribute("class","carRentContainer");
rentContainer.appendChild(carContainer);
.... and a lot of other things go in this rentContainer div
Now save it in cookie
$.cookie('rented_car', rentContainer);
everythings looks ok upto now.
when the page is refreshed and the body is loaded, it is now time to get this div and show it on page ( with same formatting,structure, etc).
so in my function I have
var rented_car_cookie = $.cookie("rented_car");
if(rented_car_cookie){
document.getElementById('rentit').appendChild(rented_car_cookie);
//rentit is already defined and exists on the page. All I need is to add the cookie div content on it.
but this gives me an error message
Firebug's log limit has been reached. 0 entries not shown. Preferences
uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMHTMLDivElement.appendChild]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: iGo.js :: checkCookies :: line 10" data: no]
Please help. What is the best way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无论如何,将完整的 html 元素存储在 cookie 中是一件坏事。也许使用 JSON 更好。
不管怎样,你可以尝试将
div
保存为 cookie 中的 html 字符串。代码: http://jsfiddle.net/yecf8/
但是你需要知道,有很多不同的不同浏览器关于 cookie 的限制。例如:
Anyway, storing full html element in cookie it bad thing. Maybe it's better use JSON.
Anyway you can try to save
div
as html string in the cookie.Code: http://jsfiddle.net/yecf8/
But you need to know that there are a lot of different limitations for different browsers regarding cookies. For example: