mar*_*jop 5 javascript browser-history history.js
我已经开始测试History.js了.在了解它是如何工作以及没有之后popstate,相反statechange.当按下浏览器的后退按钮时,我正在寻找一种不同的方法.
原因是我需要知道状态移动之前的URL,从我要去的那个.根据项目包含的要点,只查看我们访问的URL.
我希望解决方案不是跟踪全局变量中访问的最新URL.
谢谢
ash*_*ack 18
我发现github上的解决方案对我来说有点过头了.除了在使用History改变状态之前,我创建了一个始终正确的bool.
var manualStateChange = true;
History.Adapter.bind(window,'statechange',function(){
if(manualStateChange == true){
// BACK BUTTON WAS PRESSED
}
manualStateChange = true;
});
Run Code Online (Sandbox Code Playgroud)
每次我以编程方式更改状态时,将bool设置为false:
manualStateChange = false;
History.pushState(null, null, currentPath);
Run Code Online (Sandbox Code Playgroud)
我最终使用 管理所有链接History.pushState,这样就不需要区分按下的后退按钮。我们以相同的方式处理所有状态更改。
编辑:在 History.js 的 Github 中发现这两个问题,可能会对某人有所帮助。 https://github.com/browserstate/history.js/issues/70 https://github.com/browserstate/history.js/issues/47
| 归档时间: |
|
| 查看次数: |
12003 次 |
| 最近记录: |