尝试转到 HTML 锚点时运行 JavaScript 函数
无论我是否尝试转到 index.html#ExistingAnchor 或 index.html#NotExistingAnchor 或页面上可能存在或不存在的任何其他锚点,我'我想要运行一些 javascript 函数。
<html>
<body>
<a name="ExistingAnchor"></a>
</body>
</html>
我可以使用什么 JavaScript 代码来实现它?
该页面可能已经加载,因此我只需从浏览器地址栏访问同一页面上的 HTML 锚点,而无需重新加载页面。
另外,当我使用“后退”和“前进”浏览器历史记录按钮时访问了同一页面上的多个锚点,我还希望运行一些 JavaScript 函数,以便我可以识别当前所在的锚点 -您也可以建议一下吗?
Regardless of whether I'm trying to go to index.html#ExistingAnchor or index.html#NotExistingAnchor or any other anchor which might or might not exist on the page I'd like some javascript function to be run.
<html>
<body>
<a name="ExistingAnchor"></a>
</body>
</html>
What javascript code can I use to achieve it?
The page may already be loaded so I'd be just visiting HTML anchors on the same page from the browser address bar without reloading the page.
Also, having visited a number of anchors on the same page when I'm using the Back and Forward browser history buttons, I'd like some JavaScript function to be run as well so that I could identify what anchor I'm currently on - could you please advise this as well?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在现代浏览器上,您可以实现 onHashChange 事件,在 IE6/7 上,您将需要使用一些涉及 iFrames 和 window.setTimeout 的技巧。
如果您使用 jQuery,jQuery 历史记录插件将实现您想要的功能,如果没有,您可以研究它并根据您的需要移植它。
http://tkyk.github.com/jquery-history-plugin/
On modern browsers you can implement onHashChange event, on IE6/7 you're going to need to use some trickery involving iFrames and window.setTimeout.
The jQuery history plugin will achieve what you want if you use jQuery, if not you can study it and port it for your needs.
http://tkyk.github.com/jquery-history-plugin/