yvo*_*zoe 3 javascript python jquery cherrypy
我有一个小网络应用程序(只有 1 页),允许用户输入和选择一些选项。输入的文本和选择将以表格的形式显示在另一个 div 中。您可能需要参考此处的示例:http : //jsfiddle.net/xaKXM/5/
在此小提琴中,您可以输入任何内容,单击submit后将获得文本输入并将它们附加到另一个表中#configtableTable
$('#labels #labelTable tr:last').after(addmore);
$('#configtable #configtableTable tr:last').after(displaymore);
Run Code Online (Sandbox Code Playgroud)
我正在使用cherrypy作为迷你网络服务器(因此主要代码是用python编写的),我知道它在session 这里,但我根本不知道如何使用它,因为给出的示例并不是我真正想要看到的.
仅供参考,我根本没有使用 PHP,所有内容都在一个页面中。我只是显示和隐藏它们。但我希望页面即使在刷新后也能保持显示#configtableTable和隐藏状态#labelTable。请注意,小提琴只是网络应用程序的一部分,它只会在从另一台设备得到回复后才会显示所有这些。
不确定 cookie,因为我发现的所有链接似乎都已损坏。如何jQuery的会议?它适用于我的情况吗?不过我需要一些应用示例:(
好的,总结一下我的问题: 1. 我可以在刷新后保存页面状态吗?如何?上面提到的哪些方法值得一试?有什么例子可以参考吗?或任何其他建议?2.我可以在到达页面后简单地禁用刷新或返回吗?
提前谢谢大家:)
不要禁用刷新和/或后退导航。这是一个糟糕的主意 - 用户对这些按钮将执行和修改的操作有一定的期望,这会导致糟糕的用户体验。
至于保存状态,虽然您可以使用会话或 cookie,但如果您不需要该数据服务器端,您也可以在客户端保存状态。
例如,您可以使用localStorage
或者,你可以在表中创建一个对象出来的数据,JSON.stringify()并将其追加到这样的网址:example.com#stateData。
在任一选项的情况下,在页面加载时,您必须检查是否有状态数据。如果您发现有,则使用它重新创建表格,而不是显示表格。
第一个的缺点是并非所有浏览器都支持 localStorage。第二种方法的缺点是 URL 有长度限制,因此如果您需要大量数据,则此解决方案不一定适合您。
编辑
看起来 Midori确实支持大多数 HTML5 功能,包括 localStorage 但是,默认情况下它是关闭的。. (我试图找到一个更好的参考)。如果可以,只需将 Midori 指向html5test以查看它支持哪些 HTML5 功能。