Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 告诉用户何时返回浏览器历史记录_Javascript_Jquery - Fatal编程技术网

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

Javascript 告诉用户何时返回浏览器历史记录,javascript,jquery,Javascript,Jquery,我有一个页面a,其中显示了数据库中的一些文本。文本是可编辑的,并使用AJAX自动保存。如果用户离开该页面,然后使用浏览器历史记录功能返回到页面A,该页面将不会有最新数据(因为我们回到了历史记录中)。用户将编辑旧数据,这将在自动保存时覆盖服务器上的最新数据 我假设这纯粹是一个前端问题,我的服务器对此无能为力。可以采用哪些解决方案?如果可以使用javascript检测到用户返回历史,那么我可以简单地显示一条文本,说明用户必须刷新页面。但这有可能吗?或者有更好的解决方案吗?如果您使用的是Jquery,

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


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

如果您使用的是Jquery,那么使用/

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

$(document).ready(function()

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

,如果您使用Jquery,则使用/

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

$(document).ready(function()

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

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

  • 您可以做的第一件事是尝试禁用页面上的缓存。你可以这样做

  • 您还可以使用库(如)跟踪用户何时按下后退按钮。您可以在服务器或客户机上响应,但您需要小心,因为禁用的后退按钮可能会惹恼用户

  • >P>如果您曾经考虑使用像AngularJS这样的JavaScript框架,您可以使用框架来跟踪返回按钮。

  • 最后,您可以通过仔细的页面设计来解决此类问题。如果页面上的数据可以更改,您可以在用户有机会编辑数据之前通过ajax加载当前数据。这样,即使用户使用了后退按钮,您的“加载”代码也会运行。更多信息,请查看


希望这些建议能有所帮助

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

  • 您可以做的第一件事是尝试禁用页面上的缓存。你可以这样做

  • 您还可以使用库(如)跟踪用户何时按下后退按钮。您可以在服务器或客户机上响应,但您需要小心,因为禁用的后退按钮可能会惹恼用户

  • >P>如果您曾经考虑使用像AngularJS这样的JavaScript框架,您可以使用框架来跟踪返回按钮。

  • 最后,您可以通过仔细的页面设计来解决此类问题。如果页面上的数据可以更改,您可以在用户有机会编辑数据之前通过ajax加载当前数据。这样,即使用户使用了后退按钮,您的“加载”代码也会运行。更多信息,请查看


希望这些建议能有所帮助

您在前端使用的是任何类型的框架还是纯javascript?@drew_w我在使用jQuery,但除了纯javascript。也许这会有帮助->您在前端使用的是任何类型的框架还是纯javascript?@drew_w我在使用jQuery,但除此之外,这只是纯javascript。也许这会有帮助->这比我想象的要难!我想我会在页面加载期间使用ajax加载最新数据。非常感谢。这比我想象的要难!我想我会在页面加载期间使用ajax加载最新数据。非常感谢。