1

我已经决定使用 path.js 作为我的 jQuery 插件来实现返回/重新加载功能,它几乎可以启动并运行,但似乎无法正常工作。插件链接:https ://github.com/mtrpcic/pathjs

头:

<script type="text/javascript" src="jquery.js"></script>  
<script type="text/javascript" src="core.js"></script>
<script type="text/javascript" src="path.js"></script>
<script type="text/javascript" src="back.js"></script>

导航:

<div id="leftnav">
        <p class="leftnavtext">
            <a class="navlinks" id="about2" href="#/about">ABOUT</a> <br>
            <a class="navlinks" id="process2" href="#/process">PROCESS</a> <br>
            <a class="navlinks" id="materials2" href="#/materials">MATERIALS</a> <br>
            <a class="navlinks" id="pricing2" href="#/pricing">PRICING</a>
        </p>

AJAX Javascript 代码:

$(document).ready(function(){
  $("#about2").click(function(){
    $("#content").load("content.html #about");
});
  $("#process2").click(function(){ 
    $("#content").load("content.html #process");
 });
  $("#materials2").click(function(){ 
    $("#content").load("content.html #materials");
});
  $("#pricing2").click(function(){
    $("#content").load("content.html #pricing");
 });
   $("#pricing3").click(function(){
    $("#content").load("content.html #pricing");
});
   $("#infinite1").click(function(){
    $("#content").load("content.html #infinite");
});


});

Path.js 代码(header 中的 back.js,path.js 是插件。):

function notFound(){
            $("#content .content").html("404 Not Found");
            $("#content .content").addClass("Error");
        }

        function setPageBackground(){
            $("#content .content").removeClass("Error");
        }        

        Path.map("#/about").to(function(){
            $("#content .content").html("About");
        }).enter(setPageBackground);

       Path.map("#/process").to(function(){
            $("#content .content").html("Process");
        }).enter(setPageBackground);

       Path.map("#/materials").to(function(){
            $("#content .content").html("Materials");
        }).enter(setPageBackground);

       Path.map("#/pricing").to(function(){
            $("#content .content").html("Pricing");
        }).enter(setPageBackground);


        Path.root("#/about");
        Path.rescue(notFound);

        $(document).ready(function(){

            Path.listen();
 });

谁能看到我哪里出了问题?

4

1 回答 1

1

如果您尝试/#/materials通过在浏览器地址栏中输入 url 直接导航到,根据作者的说法,PathJS 目前不支持此功能,因为它仅用于客户端路由。

我通过包含Path.history.pushState({}, "", location.hash);在我的 onload 脚本中解决了这个问题。

于 2013-06-04T16:02:23.123 回答