Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery.address如何从url中删除(javascript window.location remove)_Jquery_Fragment Identifier_Window.location - Fatal编程技术网

JQuery.address如何从url中删除(javascript window.location remove)

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函数一样 我在此

当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/