如果你只是想更改页面加载后哈希:如果要导航到新的哈希的URL
window.onload = function (event) {
window.location.hash = "#my-new-hash";
};
:
window.location.href = "http://website.com/#my-new-hash";
如果你要听用于改变URL的散列值;您可以考虑使用window.onhashchange DOM事件。
window.onhashchange = function() {
if (location.hash === "#expected-hash") {
doSomething();
}
};
但是它并没有被所有主流浏览器支持。
它现在有一个很宽的browser support。您也可以通过以小间隔轮询window.location.hash
来检查更改,但这也不是非常有效。
对于跨浏览器解决方案;我建议Ben Alman's jQuery hashchange plugin将这些方法和其他一些方法结合起来使用回退机制。
编辑:你的问题更新后,我明白你想要的页面滚动到书签?:
您可以使用Element.scrollTop
或jQuery的$.scrollTop()
方法。
$(document).ready(function (event) {
var yOffset = $("#my-element").offset().top;
$("body").scrollTop(yOffset);
});
查看文档here。
我结束了与yepnope完全一起使用链接函数。在内容被填充之前,jQuery获得了hasthtag偏移量的值。我只是将你们帮助完成的代码混合在一起。 – brunam