1

パス.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コード(ヘッダーの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 に答える