I'm looking for a way of removing the url.com/index.html#content. So I'm looking for a way to remove the #content part (posibly with jQuery?). Is there any way to achieve this after I've already clicked on the link?
            Asked
            
        
        
            Active
            
        
            Viewed 91 times
        
    0
            
            
         
    
    
        PowerUser
        
- 812
- 1
- 11
- 32
- 
                    Do you want to consume the URL in your code or do you want the browser address bar URL changed? – Gautam Bhutani Mar 18 '14 at 18:45
- 
                    http://stackoverflow.com/questions/1397329/how-to-remove-the-hash-from-window-location-with-javascript-without-page-refresh – Stuart Kershaw Mar 18 '14 at 18:49
- 
                    Yeah but the hash redirects to an element with the `id="content"` so first I don't know where to put this script (`` section maybe?). Anyway more detailed example than just a link to a random question won't help me. Could I have an example of the whole code? If yes I'll mark it as answer. Thanks in advance. – PowerUser Mar 18 '14 at 19:11
1 Answers
0
            Anyway here's the solution I've found:
HTML Markup:
<a href='#content' onclick="return anchorJump('content')">Skip to Content</a>
And here's the JavaScript:
    function anchorJump( anchor )
{
  var targAnchor=null, anchorID=anchor.replace(/.*#([^\?]+).*/,'$1');   
  if( !(targAnchor=document.getElementById( anchorID )) )
   for(var i=0, found=false, da=document.anchors, len=da.length; i<len && !targAnchor; i++)
    targAnchor = (da[i].name==anchorID ? da[i] : null); 
  if(targAnchor)  
  {
   disp=getElemOffset(targAnchor);
   window.scrollTo(disp.x, disp.y);
  }
  else
   alert('Did not find anchor/element "'+anchorID+'"');
  function getElemOffset(elem)
  {
   var left = !!elem.offsetLeft ? elem.offsetLeft : 0;
   var top = !!elem.offsetTop ? elem.offsetTop : 0;
   while((elem = elem.offsetParent))
   { 
    left += !!elem.offsetLeft ? elem.offsetLeft : 0;
    top += !!elem.offsetTop ? elem.offsetTop : 0;
   }
   return {x:left, y:top};  
  }
 return false; 
}
 
    
    
        PowerUser
        
- 812
- 1
- 11
- 32