如果只有 URL 变为空字符串,则状态不会被推送

作者: dobesv创建于 2011年11月24日更新于 2021年2月12日
标签you can help

如果您这样做,例如: pushState({}, 'title', '?foo=bar'); pushState({}, 'title', '');

第二次调用 pushState 将被忽略,因为在 History.normalizeState() 中,它会执行以下操作: newState.url = History.getFullUrl(oldState.url?decodeURIComponent(oldState.url):(document.URL || document.location.href));

这里的假设似乎是,如果 oldState.url 为 false-like,则调用者不希望更改 URL (?)。

内容来源: browserstate/history.js