My url generates like this: only shows in ie9
http://myurl.com/#/categories/posts
how do I remove # from url and make it like http://myurl.com/categories/posts
on rest of my pages? thanks.
can i use like this? how can I detect # cause front page has no #.
if ($.browser.msie && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#"))
{
document.location.href = String( document.location.href ).replace( /#/, "" );
}
to remove #/ used .replace( /#\//, "" );
as mentioned Kevin B
It's not really a JQuery job - use normal Javascript for this.
document.location.href = String( document.location.href ).replace( /#/, "" );
EDIT Adding @Kevin B's answer for completeness
document.location.href = String( document.location.href ).replace( "#/", "" );
/#/
becomes /#\//
or /\/#/
Kevin B 2012-04-05 21:42
Just add 'return false' for anchor tag's click event.
$("#selectorname").click(function(){
if ($.browser.msie && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#"))
{
document.location.href = String( document.location.href ).replace( /#/, "" );
}
return false; /* This prevents url from # */
});
or else
<a href="#" onclick='return false'>Hey click me, I'm # free</a>
or just make it simple
$("#selectorname").click(function(e){
/* some statements */
e.preventDefault();
});
This prevents the default action not to be triggered. Detailed info here
$("a").attr("href",$("a").attr("href").replace(/#/, ""));