0

我正在使用 Asual 的 jQuery Address 插件在不使用哈希的情况下在内容之间进行深度链接(使用 HTML5 History API)。

这是我的代码:

$.address.state("/").init(function(e){
    $('#nav li a').address(); // initializes
    if (e.value == "/") {
        $.address.value("/home"); // loads /home by default
    };
});

$.address.change(function(e) {
    // loads whatever page is in that /pages folder and puts the content in div#container
    $.get("/pages" + e.value + ".html", function(data, textStatus, xhr) {
        $('#container').html(""); //clears out the old content
        $('#container').html(data); //loads the new page in there
    });
});

单击顶部导航按钮时,这非常有效。甚至浏览器中的后退和前进按钮也很有效。问题是在另一个选项卡中刷新/打开 url 时。例如,如果我写http://domain.com它会让我访问http://domain.com/home并显示内容。如果我刷新我得到一个 404 错误。浏览器正在寻找一个实际不存在的 /home 文件(取而代之的是 home.html)。

有任何想法吗?谢谢!

DD

4

1 回答 1

0

我试图做同样的事情并遇到同样的问题,最终使用哈希。

于 2013-05-02T22:12:14.100 回答