更改URL不会重新加载文档->如何检查哈希值
URL change doesn't reload the document -> how to check the hash?
我在我的页面上有一个div (set id)和一个"打开"/"关闭"它的按钮。默认情况下,这个div是隐藏的(display: none
)。
在点击按钮时,我打开/关闭div并添加或删除一个散列标签到url: window.location.hash = "#about_us_text";
或window.location.hash = "";
在每个文档加载时,我检查是否设置了散列标签,以便我可以立即显示div,如果url输入了散列标签:
if(window.location.hash == "#about_us_text") {
$("a[href='#about_us_text']").trigger("click"); //trigger the click event which 'slides down' the div
console.log("hash found");
}
这一切都很好,但有一个小问题我无法解决。如果我打开一个新的选项卡/窗口,我输入URL有或没有的有,它的工作如期进行。但是,如果我打开页面,让它加载,然后在同一选项卡中替换URL,则不会考虑散列标签。例如:
- 我打开www.mysite.com/index.html ->没有散列,div没有显示=>正确
- 我替换url在相同的窗口/标签www.mysite.com/index.html#about_us_text ->页面不重新加载(文档准备不火),div不显示,尽管事实上它应该。
是否有任何方法来解决,div显示/显示时,URL在同一窗口/选项卡更改?非常感谢!
我发现这很方便。原文在这里On - window.location.hash - Change?
$(window).on('hashchange', function() {
//.. work ..
});
相关文章:
- 在Javascript中实现对哈希值的暴力攻击
- 用户单击带有哈希值的链接以访问该页面,如果禁用Javascript会发生什么情况
- 要发送到控制器的 HREF 链接中的哈希值
- 使用 JavaScript 计算 Blob 的哈希值
- JavaScript 文件哈希值与文件的一部分一起生成
- JavaScript 隔离哈希值
- JavaScript 获取以前的哈希值
- 设置使用 window.open() 打开的空白页的哈希值
- Chrome 不返回哈希值
- Javascript 使用哈希值重新加载页面
- 为什么从其他网络返回会保留最后一个哈希值,同时显示第一个哈希值的内容
- 来自 Javascript 和 PHP 的不同哈希值
- 使用Javascript从url中获取空哈希值
- 如何使用JS重定向到具有哈希值的引用URL
- 单击一页滚动菜单时更改URL哈希值
- 是否可以在Mustache中基于哈希值切换模板部分
- 哈希值和后退/下一步按钮
- javascript哈希值验证
- JavaScript检查特定的哈希值
- 更改URL不会重新加载文档->如何检查哈希值