Я использую состояния, чтобы помнить, какие ссылки пользователь щелкнул по порядку. В настоящее время я просто хочу предупредить информацию о состоянии, но этот код как-то не работает:
function onLinhaClick(obj) {
$("#linha").children("a").off("click");
history.pushState({ item : $(obj).attr("data-value") }, $(obj).children("span").html(), $(obj).attr("href"));
$(obj).nextAll().remove();
$("#linha").children("a").on("click", function(e) {
e.preventDefault();
onLinhaClick($(this));
});
}
function onMateriaClick(obj) {
$("#materias").children("a").off("click");
history.pushState({ value : $(obj).attr("data-value") }, $(obj).children("span").html(), $(obj).attr("href"));
/*some not important code*/
}
$(document).ready(function() {
$("#linha").children("a").on("click", function(e) {
e.preventDefault();
onLinhaClick($(this));
});
$("#materias").children("a").on("click", function(e) {
e.preventDefault();
onMateriaClick($(this));
});
});
$(window).on("popstate", function(e) {
alert(JSON.stringify(e.state));
});
Предупреждение просто печатает "undefined", и я выполнил несколько документов, которые не помогли.
Попробуйте изменить
$(window).on("popstate", function(e) {
alert(JSON.stringify(e.state));
});
в
window.onpopstate = function(e) {
alert(JSON.stringify(e.state));
}
Как упоминалось в этом вопросе