归功于我精心修改的一些代码,我的网站的运行速度要快得多,但是如果浏览器的后退/前进按钮能够正常工作,我将非常感激。现在,在下面的代码中,浏览器地址栏永远不会改变。当有人单击“返回”时,会将他们带出应用程序。

是否可以通过任何简便的方法来更改此设置,以便浏览器的后退/前进按钮起作用?否则,如果有人可以指出我正确的方向。谢谢你的帮助。

$(document).on("ready", function () {

    //I want to load content into the '.page-content' class, with ajax

    var ajax_loaded = (function (response) {

        $(".page-content")

        .html($(response).filter(".page-content"));

        $(".page-content .ajax").on("click", ajax_load);


    });



    //the function below is called by links that are described
    //with the class 'ajax', or are in the div 'menu'

    var history = [];

    var ajax_load = (function (e) {

        e.preventDefault();


        history.push(this);
        var url = $(this).attr("href");
        var method = $(this).attr("data-method");


        $.ajax({
            url: url,
            type: method,
            success: ajax_loaded
        });

    });


    //monitor for clicks from menu div, or with
    //the ajax class
    //why the trigger?

    $("#menu a").on("click", ajax_load);
    $(".ajax").on("click", ajax_load);
    $("#menu a.main").trigger("click");



});

最佳答案

这是一种检测您所问问题的方法。

忍受我使用后退和前进按钮是一项冒险的任务。

window.onload = function () {

    if (typeof history.pushState === "function") {

        history.pushState("someState", null, null);

        window.onpopstate = function () {

            history.pushState("newState", null, null);

            // Handle the back (or forward) buttons here
            // Will not handle refresh, use onbeforeunload for this.
        };
    }
}

09-28 13:30