3

我有这个网址:example.com/index.html#tab-1

我按照 url example.com/index.html#tab-1写入浏览器并按 Enter - 页面将不会加载。

我想获取参数tab1并加载id为tab1的内容。

我的代码:

我称之为函数:

//to load

showTabContent(gethash);


showTabContent: function(id)
        {
            if(id != null)
            {
                var tabid = id.split("-");
                $("#tab"+tabid[1]).show();
            }
        },

gethash: function()
        {
            var hash = window.location.hash;
            if($.trim(hash) != "") return hash;
            else return null;
        }
4

2 回答 2

0

您可以使用此函数将 URL 解析为对象:http://james.padolsey.com/javascript/parsing-urls-with-the-dom/。取回对象后,您可以使用对象的属性来获取所需的 URL 部分。

这篇文章中提供了类似的答案:String URL to json object

于 2012-09-18T02:43:30.073 回答
0

检查这个 jQuery 插件:

JS文件:https ://raw.github.com/cowboy/jquery-hashchange/master/jquery.ba-hashchange.min.js

您的代码的解决方案:

HTML:

<a href="#tab-1">Tab1</a>
<div id="tab1"></div>

JS:

obj = {
    checkHash: function(){
        $(window).hashchange( function(){
            var hash = location.hash;
            obj.showTabContent(hash);
        })
    },
    showTabContent: function(id)
    {
        var tabid = id.split("-");
        $("#tab"+tabid[1]).show();
    } 
};

//init
obj.checkHash();
于 2012-09-18T11:17:31.577 回答