我的网站上有一个CSS模式框,通过单击一个看起来像这样的锚来打开:
<a href="#modal-box">Click here to open modal box</a>
用户点击后,会打开模态框,他们发现自己: http://example.com/#modal-box
对我而言,这代表我网站上的一个位置,因此我希望用户能够将该网址复制并粘贴到另一个浏览器中,并弹出相同的模式框。
使用jquery,有没有办法捕获用户所在的片段ID,然后根据它进行操作?
答案 0 :(得分:3)
如果你想做正确的事(即后退按钮支持),那么你将要捕获hashchange事件并对其采取行动,当URL片段发生变化时,现代浏览器会触发此事件。但是,并非所有浏览器都支持hashchange,因此您必须解决这个问题。您最好使用预先构建的解决方案,例如:
基本hashchange插件可能是你最好的选择,除非你正在构建一个具有复杂路由和参数处理的JavaScript应用程序。
你也可以一直看location.hash
。但是,您必须找到相应的链接并模拟其上的单击以使浏览器运行。一旦你开始做这种事情,你可能会更好地使用上述插件/框架之一和某种正式的路由系统。
答案 1 :(得分:2)
您可能可以使用jQuery,但您也可以使用本机JavaScript属性:location.hash
为您提供#modal-box
。