JQuery.address如何从url中删除(javascript window.location remove)
当event.value为==to/时,我需要从url中删除#。 我有一个带有jquery.address的lighbox,它存储对打开图像的引用,当我关闭它时,我需要删除#标记,因为这是一个原因窗口滚动顶部 我成功地用以下命令删除了#标记:window.location.href.slice(0,-1);但正如您在上面的代码中看到的,这会导致在加载页面时重写url,而不仅仅是在我的事件之后 我怎样才能在完成时链接这个javascript,就像我关闭lightbox时调用olny函数一样 我在此附上我的代码和注释。 谢谢大家JQuery.address如何从url中删除(javascript window.location remove),jquery,fragment-identifier,window.location,Jquery,Fragment Identifier,Window.location,当event.value为==to/时,我需要从url中删除#。 我有一个带有jquery.address的lighbox,它存储对打开图像的引用,当我关闭它时,我需要删除#标记,因为这是一个原因窗口滚动顶部 我成功地用以下命令删除了#标记:window.location.href.slice(0,-1);但正如您在上面的代码中看到的,这会导致在加载页面时重写url,而不仅仅是在我的事件之后 我怎样才能在完成时链接这个javascript,就像我关闭lightbox时调用olny函数一样 我在此
$.address.change(function(event) {
curLink = event.value;
if(curLink != '/') {
// here my stuff, jquery.address generates url with reference
// ex: mysite.com/cat/subcat/page.html#one
} else {
$('#element').animate({opacity:"0"},{duration:100, easing:"quartEaseOut", complete: function () {
// here I need to remove the hash only after the complete
// ex: mysite.com/cat/subcat/page.html# > mysite.com/cat/subcat/page.html
window.location.href.slice(0, -1);
$(this).hide();
}});
}
});
使用
window.location.hash='
应该完全删除它,否则有一些好的插件可以打开很多用于URL的函数(例如)。window.location.hash='
在我的情况下不起作用
window.location.href.slice(0,-1)代码>工作!我无法解决的问题是,如何仅在完成jQuery事件之后链接此JavaScript指令(现在它是在页面加载时触发的)
我认为现在是jQuery之后愚蠢的JavaScript调用
谢谢试试这个
newHash = window.location.hash.substring(1);
console.log(newHash);
如果你有一个锚,那么它通常会附加在URL的开头,但是删除了第一个字符,你就不应该再把它当作一个问题了
或者,如果你能这样做,我认为这是你可能需要的
newHash = window.location.hash.replace('#', '');
console.log(newHash);
我发现在散列之后更改值最适合于类似于您的场景。它需要是一个在你的页面上还不存在的散列
function removeDeepLink(event) {
window.location.hash = 'foo';
};
您也可以使用它(这将完全删除散列并清除URL的右备份)
哪些改变
http://www.google.com/#top
到
http://www.google.com/#top
http://www.google.com/