我正在使用History API并使用push和pop状态.我想在某些情况下停止popstate事件,我只将哈希附加到URL.例如,在某些情况下单击锚点它会附加#到URL并且popstate立即被触发)我想避免所有场景#或者#somehasvalue附加到URL并阻止popstate触发.我正在使用查询参数维护URL,我没有任何需要#在URL中触发popstate事件的场景.
这是我的代码.
if (supportsHistoryApi()) {
window.onpopstate = function (event) {
var d = event.state || {state_param1: param1, state_param2: param2};
var pathName = window.location.pathname,
params = window.location.search;
loadData(event, pathName + params, d.state_param1, d.state_param2);
}
Run Code Online (Sandbox Code Playgroud)