当url路径中存在哈希时,Javascript url重定向

时间:2016-01-25 09:43:48

标签: javascript

我想从此位置重定向我的网址:

  http://example.com/#!foo

到这个位置

http://example.com/folder/#!foo

如果删除 if 条件,重定向工作正常,但我想重定向我的网址 只有在url路径中有#。

我在过去30分钟内尝试了以下代码但没有成功。

<script>
if(window.location.hash)

 {
 window.location.assign("http://www.example.com/folder/"+window.location.hash)
 }
</script>

6 个答案:

答案 0 :(得分:2)

&#13;
&#13;
if( window.location.href.indexOf('#') > -1)

 {
 window.location.assign("http://www.example.com/folder/"+window.location.hash)
 }
&#13;
&#13;
&#13;

答案 1 :(得分:2)

应该这样做。

&#13;
&#13;
var address = window.location.href
if (adderss.indexOf('#') > -1){ window.location.assign("http://www.example.com/folder/"+window.location.hash) }
&#13;
&#13;
&#13;

答案 2 :(得分:1)

尝试:

   var url = window.location.href + "";
   var str="";
   if(url.lastIndexOf("#") != -1)
   str = url.substring(url.lastIndexOf("#"),url.length);
   window.location.href = "http://www.example.com/folder/"+str;

希望它有所帮助,欢呼:)!

答案 3 :(得分:1)

您可以使用indexOf检查字符串中是否存在特定字符(或字符串)。

<script>
    if (window.location.hash.indexOf('#') >= 0) {
        window.location.assign("http://www.example.com/folder/"+window.location.hash)
    }
</script>

答案 4 :(得分:1)

我将尝试以下事件,

window.onhashchange = function(e){ 
  window.location = window.location.pathname+'/foo/'+window.location.hash
}

答案 5 :(得分:1)

你为什么不试试IndexOf

if((window.location.pathname).indexOf('#') > 0)

 {
     window.location.assign("http://www.example.com/folder/"+window.location.hash)
 }