归功于我精心修改的一些代码,我的网站的运行速度要快得多,但是如果浏览器的后退/前进按钮能够正常工作,我将非常感激。现在,在下面的代码中,浏览器地址栏永远不会改变。当有人单击“返回”时,会将他们带出应用程序。
是否可以通过任何简便的方法来更改此设置,以便浏览器的后退/前进按钮起作用?否则,如果有人可以指出我正确的方向。谢谢你的帮助。
$(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.
};
}
}