历史回到JavaScript的钩子

Joa*_*les 5 javascript jquery history.js

有没有办法提供一个钩子,如onHistoryBack?我目前正在使用history.js

History.Adapter.bind (window, 'statechange', function () {});
Run Code Online (Sandbox Code Playgroud)

但是我无法询问用户是否提供了history.back()或者是否是History.pushState()调用的结果..任何想法?

wil*_*ill 2

我这样做的方法是在实际站点上的每次点击时将变量设置为 true。然后 statechange 事件将检查此变量。如果这是真的,他们就使用了该网站上的链接。如果这是假的,他们就点击了浏览器的后退按钮。

例如:

var clicked = false;

$(document).on('click','a',function(){

    clicked = true;

    // Do something

});

History.Adapter.bind (window, 'statechange', function () {

    if( clicked ){
        // Normal link
    }else{
        // Back button
    }

    clicked = false;

});
Run Code Online (Sandbox Code Playgroud)

希望有帮助:)