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