我可以使用哪些其他方式存储小于信息的信息?
我正在构建一个使用iframe加载某些内容的小部件。在iframe中我想保存应用程序的不同状态,但是当窗口小部件与iframe内部的内容不在同一个域时(99%的时间),我遇到了问题。
有什么想法吗?
哦,这是jQuery。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您想为特定用户保存持久数据,那么Cookie是可行的方法,但您可以使用HTML5,不同之处在于,除非您使用HTML5 {{1},否则不会与服务器明确共享使用HTML存储的数据}}。 (会话存储使用相同的API,但专门针对用户会话存储数据,并且在会话结束后不会持续存在);
使用HTML5 API保存状态实际上非常简单,它也是事件驱动的,这意味着每当修改数据时都会触发事件,从而允许您在javascript / jQuery中监听更改并采取相应的行动。
sessionStorage
将在localStorage中创建一个名为name的变量,其值为David。关闭浏览器,重新打开和console.log变量,你会发现它仍然存在。
请注意localStorage,尽管以前的文档只存储数据字符串,但如果要存储/检索它们,则必须对其进行序列化和反序列化。
实际规格要大得多,你可以在这里阅读更多相关内容:
Tips and tricks on using HTML5 storage
如果您不寻找持久性数据,可以使用jQuery的localStorage.name = 'David';
方法来存储针对DOM节点的任意数据以供以后使用。这非常有用,当然,如果您正在开发小部件并且需要针对DOM节点存储非持久状态。
其他:
ie7和ie8支持缺乏,但您可以使用像modernizr.js这样的框架来强制旧版浏览器与HTML 5兼容。
答案 2 :(得分:0)
我不知道为什么每个人都会告诉你只使用HTML5 localstorage。您的问题是安全问题。
请参阅上面的评论,社区维基链接。另请参阅https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet和http://dev.w3.org/html5/webstorage/#security-localStorage