在用户进入输入页面之前,我使用一个小JS将条目标记为Read on click。
当用户点击“返回”时,我使用的removeClass
似乎不会起作用。
有没有办法在Back行为上强制执行此操作?
答案 0 :(得分:1)
IE 8,Firefox和其他浏览器在后退按钮上记住表单条目。您可以使用它在页面中存储一些状态,以便用户在刷新或返回时。
在某处的页面上创建一个隐藏的textarea,并将您的额外状态存储在那里。我使用onbeforeunload来存储状态,然后使用onload再将其拉出来。
不幸的是IE6和7不支持在后面或重新加载时记住你的表单值,所以如果你关心那些浏览器你就不得不求助于类似cookie的东西。请记住,保存在cookie中的数据量很小,因为它会在每次请求时发送到服务器。您还希望有一些方法可以清除该cookie。
当我想保持大量不同的状态时,我使用JSON.stringify from Douglas Crockford's json2.js。
答案 1 :(得分:0)
当用户点击Back时,浏览器会从头开始重新加载页面(除了记住表单值的Firefox),旧页面的Javascript及其效果消失了。
要解决此问题,您可以将页面的状态保存在cookie中,然后在页面加载时读取cookie并使用Javascript cookie library恢复状态。
答案 2 :(得分:0)
使用JS执行此操作的唯一方法是使用用户访问的项目存储cookie,并在加载页面时将cookie中的条目标记为“已访问”。缺点是加载到视图中的项目之间会有一个小的延迟,并且它们被标记为已访问(有点像StackOverflow上的用户忽略和喜欢的标签)。
除此之外,您可以使用一些服务器端代码来记住会话中访问过的条目。
如果条目是< a>元素,您可以使用以下方式设置它们的样式:
a:visited {}
答案 3 :(得分:0)
根据建议,您可以使用Cookie。或者,如果您不想这样做,您可以将信息存储在隐藏的表单字段中,并在页面加载(或domready)上读取值并根据需要设置页面状态。