繁体   English   中英

告诉用户何时返回浏览器历史记录

[英]Tell when a user is going back in browser history

我有一个页面A,显示数据库中的一些文本。 文本是可编辑的,并使用AJAX自动保存。 如果用户离开该页面,然后使用浏览器的历史记录功能返回页面A,则该页面将没有最新数据(因为我们返回了历史记录)。 并且用户将编辑旧数据,当自动保存服务器时,它将覆盖服务器上的最新数据。

我认为这纯粹是一个前端问题,我的服务器对此无能为力。 可以提供什么解决方案? 如果有可能使用javascript检测到用户已返回历史,那么我可以简单地显示一条文本,说明用户必须刷新页面。 但这有可能吗? 还是有更好的解决方案?

对于这种情况,有很多选择和策略。

  • 您可以做的第一件事就是尝试禁用页面上的缓存。 您可以使用元标记执行此操作。

  • 您也可以跟踪,当用户按下使用图书馆后退按钮如这一个 您可以在服务器或客户端上进行响应,尽管您要小心,因为禁用的后退按钮可能会惹恼用户。

  • 如果您碰巧考虑使用AngularJS之类的JavaScript框架,则可以使用该框架跟踪后退按钮。

  • 最后,您可以通过精心设计页面来解决此类问题。 如果页面上的数据可以更改,则您可以在用户有机会编辑其之前通过ajax加载当前数据。 这样-即使用户确实使用了后退按钮,您的“加载”代码也将运行。 看看这个堆栈以获取更多信息!

希望这些建议能有所帮助!

如果您使用的是Jquery,请使用/

$(document).on('pageshow', '#Content' ,function() 

代替

$(document).ready(function()

它将解决您的问题,当该特定页面加载时,将加载后端的javascript文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM