Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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_Button_Back - Fatal编程技术网

Javascript 如何区分浏览器后退/前进按钮?

Javascript 如何区分浏览器后退/前进按钮?,javascript,jquery,button,back,Javascript,Jquery,Button,Back,可能吗?更好的是,使用jQuery可以吗 我需要知道是使用“单击后退”按钮还是“前进”按钮,这样我才能正确使用页面转换效果,例如,如果点击“前进”,则从左向右滑动,反之亦然。用户无需单击浏览器中的“后退”按钮即可转到上一页。他可以右键单击,然后从关联菜单中选择后退或前进选项。他还可以点击键盘导航到另一页。因此,点击后退按钮不是一个好主意。我们的指导设计原则之一是: 永远,永远,永远不要弄坏后退按钮。 这意味着不干涉它的运作,也就是说不干涉它 如果你必须知道用户按下了哪个按钮,那你就太倒霉了,这是

可能吗?更好的是,使用jQuery可以吗


我需要知道是使用“单击后退”按钮还是“前进”按钮,这样我才能正确使用页面转换效果,例如,如果点击“前进”,则从左向右滑动,反之亦然。

用户无需单击浏览器中的“后退”按钮即可转到上一页。他可以右键单击,然后从关联菜单中选择后退或前进选项。他还可以点击键盘导航到另一页。因此,点击后退按钮不是一个好主意。

我们的指导设计原则之一是:

永远,永远,永远不要弄坏后退按钮。

这意味着不干涉它的运作,也就是说不干涉它

如果你必须知道用户按下了哪个按钮,那你就太倒霉了,这是故意的。编写浏览器的人不希望你这么做。我不想让你干扰后退按钮的功能。用户不希望您这样做。所以,不要


/rant.

您可以使用历史对象。它具有访问页面的数组。最近的条目是最后一个前进或后退按钮页。

您可以使用该库

但是,如果您想自己处理它,您可以使用散列键(
window.location.hash
),例如在那里设置幻灯片编号。 当用户单击“上一步”或“下一步”时,哈希键将发生更改,您将检测它并进行更改

不幸的是,您必须自己检查更改,通过设置间隔(即:300ms)并使用以前的值进行检查。HTML5有一个onhashchange事件。

@David


由于浏览器后退按钮不跟踪ajax请求,开发人员别无选择,只能补充这种功能的不足。使用jquery,我们必须手动跟踪ajax请求,并手动重新请求部分页面,以便为用户提供他们想要的和期望的内容。

我不打算打断后退按钮,决不。只需要在页面转换时使用它。如何修复“后退”按钮?例如,在一个ajax页面中,后退按钮将您带到某个上一页,而不是上一页(因为它是用ajax修改的)?这很公平。一般来说,我不使用AJAX进行这种转换。在我看来,如果UI真的需要显示不同的页面,那么它们应该被带到不同的页面。AJAX应该用于显示交互式UI,但不能用于重新定义预期的浏览器行为。