我正在制作一个“类似应用程序”的网页。实际页面比浏览器视口更宽,浏览器视口隐藏了溢出。单击不同的链接会更改 CSS 以动画显示不同的部分。这是一个非常简单的演示:http://smartpeopletalkfast.co.uk/pos/
在这个阶段,我正在开发一个演示,而不是一个生产站点。我想拦截浏览器后退按钮,因此如果您已导航到某个部分,您将被带回到上一个部分,而不是离开网页。在完美的世界中,这会发生在我用于导航到各个部分的相同动画中。
这能实现吗?通过研究,我认为不可能拦截和禁用默认浏览器后退按钮。
我知道他们有很多关于禁用该网站上的浏览器后退按钮的帖子,通常回复是“不要”!然而,进入页面中的不同部分就像导航到单独的页面一样,所以我认为我想要实现的目标是符合用户的期望。
基于 AJAX 的应用程序通常可以使用 HTML5 的 History API 来实现类似的功能。据我了解,您需要将带有片段的 URL 添加到浏览器的历史记录中,例如 mysite.com#section2。我不确定这对我有用,但是因为水平滚动不像垂直滚动那样基于片段链接。也许我可以
使用 JavaScript 检测 URL 何时以#section2 等片段结尾并更改 CSS,以便第二部分位于视口中?我想没有办法为此制作动画吗?
改变浏览器上后退按钮的本机行为的想法绝对是一个危险信号,表明某些内容正在被错误处理,并且实际上不可能跨浏览器。
我会处理unload
event
让浏览器尝试在状态之间平滑转换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)