保存页面的状态。Cookie还是会话?

2024-10-01 09:36:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小的web应用程序(只有1个页面),允许用户输入和选择一些选项。输入的文本和选择将以表格的形式显示在另一个div中。您可以参考这里的示例:http://jsfiddle.net/xaKXM/5/ 在这个fiddle中,您可以键入任何内容,单击submit后,它将获得文本输入并将它们附加到另一个表#configtableTable

$('#labels #labelTable tr:last').after(addmore);
$('#configtable #configtableTable tr:last').after(displaymore);

我使用cherrypy作为一个小型web服务器(因此主要代码是用python编写的),我知道它有sessionhere,但我根本不知道如何使用它,因为给出的示例并不是我真正想要看到的。在

仅供参考,我根本不使用PHP,所有的东西都在一个页面中。我只是简单地展示和隐藏它们。但是我希望页面在刷新之后仍然显示#configtableTable和隐藏{}。请注意,fiddle只是web应用程序的一部分,只有在收到另一个设备的回复后才会显示所有这些内容。在

我对饼干不太确定,因为我找到的links似乎都坏了。jQuery session怎么样?它适用于我的情况吗?我需要一些应用程序的例子:(

好吧,结束我的问题: 1刷新后可以保存页面状态吗?怎么办?上述哪种方法值得一试?有什么可供我参考的例子吗?或者其他建议? 2我可以简单地禁用刷新或到达页面后返回?在

提前感谢大家:)


Tags: 用户文本web应用程序示例内容选项页面
1条回答
网友
1楼 · 发布于 2024-10-01 09:36:33

不要禁用刷新和/或返回导航。这是一个糟糕的想法-用户对这些按钮将执行的操作和修改有一定的预期,从而导致不良的用户体验。在

至于保存状态,虽然可以使用会话或cookies,但如果不需要数据服务器端,也可以在客户端保存状态。在

例如,可以使用localStorage

或者,您可以从表中的数据中创建一个对象,JSON.stringify()并将其附加到url中,如下所示:example.com#stateData。在

无论是哪种情况,在页面加载时,都必须检查是否有状态数据。如果找到了,则使用它重新创建表,而不是显示表单。在

第一种方法的缺点是not all browsers support localStorage。 第二种方法的缺点是url有一个长度限制,因此如果您期望大量的数据,这个解决方案不一定适用于您。在

编辑
看起来Midori does support most HTML5 features including localStorage however, it's turned off by default.。(我想找一个更好的参考资料。如果可以,只需将Midori指向html5test,看看它支持什么HTML5功能。在

相关问题 更多 >