【发布时间】:2014-10-27 08:52:40
【问题描述】:
我正在使用 History API 并使用推送和弹出状态。我想阻止 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);
}
【问题讨论】: