解释我要解决的问题:
我有一个显示文件列表的网页 (file_list.php
) ,每个文件旁边都有一个删除它的按钮。当用户在某个文件名附近按下 DELETE 按钮时,浏览器会转到一个名为delete_file.php
删除文件的脚本,然后它会告诉浏览器返回到file_list.php
delete_file.php
使用简单header("Location: file_list.php”);
的返回file_list.php
当浏览器返回时,file_list.php
它会重新加载页面,但不会再次将其滚动回用户之前的位置。因此,假设用户滚动了文件列表并删除了最后一个文件,当浏览器再次显示该页面时file_list.php
,它不会再次滚动到页面底部。
我提出的解决方法:
我发现了一种奇怪的方法来解决这个问题,基本上不是使用header("Location: file_list.php”);
indelete_file.php
我只是使用 javascript call window.history.go(-1)
。
当用户处于会话中时(仅使用 PHPsession_start
函数),此解决方法非常有效:浏览器重新加载 file_list.php 页面,然后将其滚动回原来的位置。
但是如果用户不在会话中,浏览器会滚动页面但它之前没有重新加载它,所以用户仍然会在文件列表中看到他删除的文件。
问题
即使我们不在会话中,您是否知道如何在返回会话时重现浏览器的行为?
您知道解决此问题的方法,甚至是解决此问题的另一种方法吗?
谢谢!
我知道我可以使用 AJAX 删除文件,所以我不必每次都去 delete_file.php,但这不是答案。