如何在我们的URL中制作/#!/?

时间:2011-10-25 20:00:47

标签: javascript jquery

大家好!

这个问题差不多3个小时!如果是twitter.com/#!/username那么请在Twitter上复制这个概念,然后页面/个人资料是用户名,

http://twitter.com/#!/mardagz因为你可以看到它重定向到我的帐户,所以现在我试图通过获取当前网址来制作我自己的...然后我修剪为字符串并将其拆分为(/#!/)我尝试不用任何作品......

假设当前网址为http://www.domain.com/#!/about

守则:

$(window).load(function () {
      var getUrl = top.location;
      var trimUrl = jQuery.trim(getUrl);
      var splitUrl = trimUrl.split('/#!/')
      //alert(splitUrl[1]);
      switch(splitUrl[1])
        {
            case 'home':
            //Do Something
            break;
            case 'skill':
            //Do Something
            break;
            case 'about':
            //Do Something go to About Us Page!
            break;
        }
    });

owhh它不起作用......有没有人有这方面的解决方案? :)提前谢谢.. :))

1 个答案:

答案 0 :(得分:6)

如果要检测哈希更改,请使用hashchange事件。如果您的顶级窗口位于相同的域,则下面的代码将像魅力一样工作。否则,Same origin policy将阻止您的脚本访问顶层文档的location对象。

function hashChanged() {
  var getUrl = top.location.hash.substr(3); // #!/ = 3 characters
  switch(getUrl)
    {
        case 'home':
        //Do Something
        break;
        case 'skill':
        //Do Something
        break;
        case 'about':
        //Do Something go to About Us Page!
        break;
    }
}
$(window).load(function(){
    // Set handler
    $(window).bind('hashchange', hashChanged);

    // Handle hash on load
    hashChanged();
});