我有一个在线测试,可以顺序运行5个网页而不会暂停。我希望后退按钮(如果使用的话)在测试页面之前重定向到页面,防止它被用于循环测试页面。我认为历史API可能是一种方法,并尝试使用此脚本:
var stateObj = { url: "/index.php/toeic_introduction"};
// Updates the current history entry timerArray[i][2].
window.history.replaceState(stateObj, "","/index.php/toeic_introduction");
// Creates a new history entry.
window.history.pushState(stateObj, "","/index.php/toeic_introduction");
这适用于url显示在地址行中但后退按钮不会根据需要重定向的程度。我甚至不确定是否可以通过这种方式控制后退按钮。我曾想过禁用后退按钮并在网上浏览过但这个选项似乎有点问题。我当然欢迎任何意见或建议。
答案 0 :(得分:0)
如果添加带有Javascript历史记录的pushtState,则应使用window.onpopstate来管理后退按钮操作。
您将在此页面中找到所有必需的文档:
https://developer.mozilla.org/fr/docs/Web/API/WindowEventHandlers/onpopstate
答案 1 :(得分:0)
我想你需要绑定到popState事件并将你的重定向逻辑放在那里:
$(document).ready(function() {
if (window.history && window.history.pushState) {
$(window).on('popstate', function() {
// your logic here
});
}
});