javascript中的拦截命名锚

javascript中的拦截命名锚,javascript,anchor,Javascript,Anchor,想象一下,有人在他的浏览器地址栏中键入。 我如何拦截对锚的调用,正常显示页面(不要滚动到锚),并用javascript做一些事情,比如提醒“someanchor”。在js中,没有服务器端重定向(指向类似somepage?anchor=someanchor的东西) 有什么想法吗?这可能吗?拦截对锚的点击很容易,我控制,但这里不是这样。拦截很容易(从onload处理程序调用此操作): 为了防止窗口向下滚动到所述定位点,您可能必须在onload事件上向上滚动。请查看Ben Alman的hashchan

想象一下,有人在他的浏览器地址栏中键入。 我如何拦截对锚的调用,正常显示页面(不要滚动到锚),并用javascript做一些事情,比如提醒“someanchor”。在js中,没有服务器端重定向(指向类似somepage?anchor=someanchor的东西)

有什么想法吗?这可能吗?拦截对锚的点击很容易,我控制,但这里不是这样。

拦截很容易(从
onload
处理程序调用此操作):


为了防止窗口向下滚动到所述定位点,您可能必须在
onload
事件上向上滚动。

请查看Ben Alman的hashchange插件,该插件解决了跨浏览器问题

您可以使用以下方法执行此操作:

$(window).on('hashchange', function() {
  //prevent default, then your code
});

如本

所述,为了完整起见,这将是window.scrollTo(0,0);
$(window).on('hashchange', function() {
  //prevent default, then your code
});