使用新URL更新地址栏,没有主题标签

时间:2013-11-01 20:23:25

标签: javascript jquery ajax html5 html5-history

在我的项目中,我使用这个Ajax函数(下面)来获取内容(它的效果非常好^^)。

无论如何,我希望有一个更好看的网址(说实话我不是主题标签的粉丝),我一直在使用的脚本,直到现在我得到这样的内容:http://example.com/#sitename

要改变我做了一些研究:我了解到这一点:the window.history.pushState('page2', 'Title', '/page2.php'); JavaScript行(请参阅herehere有关更新网址而不重新加载的更多信息)

我应该能够实际更改网址,以便我愿意。 现在我的问题是,我是一个完全初学者编程(当我试图将它包含在它破坏的代码中,并且没有任何工作了。)并且想问是否有人可以帮助我将其包含在代码中(下面)< / p>

我也听说过History.js - 库,如果我读得正确,这应该也应该做伎俩,但就像我说我没经验,不得不问如何把它包含在ajax调用中(我意味着将它包含在我的代码中)或者这是不可能的?

 $(document).ready(function() {
        var e = "", t = $("#content");
        $("ul:not(.no) li a").click(function() {
            window.location.hash = $(this).attr("href");
            return false;
        });
        $(window).bind("hashchange", function() {
            e = window.location.hash.substring(1);
            url = e;
            if (e) {
                t.fadeOut(200, function() {
                    url = url.replace("#", "");
                    $("#loading").css("visibility", "visible");
                    $.ajax({
                        type : "POST",
                        url : "load_page.php",
                        data : "page=" + url,
                        success : function(e) {
                            if (parseInt(e) != 0) {
                                t.fadeIn(200, function() {
                                    $("#content").html(e);
                                    var $title = $("#title").text();
                                    document.title = "JuBla | " + $title;
                                });
                            }
                            $("#loading").css("visibility", "hidden");
                        }
                    });
                    $("li a").removeClass("current");
                    $('li a[href="" + e + ""]').addClass("current");
           //my attempted solution                      //    window.history.pushState('/'+ url, $title, '/' + url + '/')
                });
            }
        });
        $(window).trigger("hashchange");
    });

0 个答案:

没有答案