情况:
url: http://mydomain.com/test.html#somehash http://mydomain.com/test.html#somehash
测试脚本:
$(document).ready(function () {
console.log("page initiated");
if (window.location.hash) {
console.log("hash changed (if-statement)");
}
$(window).on("hashchange", function () {
console.log("hash changed (on statement)");
});
});
该脚本也可以在fiddle http://jsfiddle.net/djwave28/dcVu8/2/,但环境不适合展示该行为。
我遇到的问题是,当我单击浏览器地址栏并按 Enter 键而不进行任何更改时。
当浏览器 URL 带有主题标签时,页面不会重新启动。document.ready
没有被解雇,我没有收到任何控制台消息。
当浏览器 URL 没有主题标签时,页面会重新启动并document.ready
被解雇了。
有人对此行为有解释吗?是否可以捕获它,以便在情况 1 中页面重新加载?
某处有文档吗,因为我似乎找不到任何文档?
这是期望的行为。如果您的 URL 包含哈希字符串,则不应启动全页刷新。
将哈希添加到 URL 表示您要在页面内导航,而不是导航到新页面。单击“刷新”按钮表示您要重新请求该文档。在 URL 栏上按 Enter 键和单击刷新是完全不同的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)