2012-12-04 19 views
5

私は単一のページアプリケーションでsammy.jsプラグインを使用しています。ユーザーは、それがコンソールに次のエラーを示しているページに移動しようとする時はいつでもプラグインは、機能していません。sammyJS javascriptプラグインのナビゲーションで問題が発生しましたか?

[Tue Dec 04 2012 17:48:13 GMT+0530 (India Standard Time)] #main 404 Not Found get /page_home 
Error 
arguments: undefined 
get stack: function() { [native code] } 
message: "404 Not Found get /page_home " 
set stack: function() { [native code] } 
type: undefined 
__proto__: d 

この問題とどのようにそれを固定することができ、何ですか?

EDIT

サミー構成コード:

var app = $.sammy('#main', function() { 
     this.get('#/:name', function() { 
      var id = this.params['name']; 
      $.trim(id); 
      var flag = true; 

      if ($("#main").hasClass("presentation")) { 
       $.each(slides, function (i, v) { 
        if ($(v).attr("class") == id) { 
         ScanNavigationD(id); 
         flag = false; 
         return false; 
        } 
       }); 
       if (flag) { 
        ScanNavigationD($(slides[0]).attr("class")); 
       } 
      } 
      else if ($("#main").hasClass("printdoc") || typeof $("#main").attr("class") == "undefined") { 
       $.each(Pages, function (i, v) { 
        if ($(v).attr("class") == id) { 
         ScanNavigationD(id); 
         flag = false; 
         return false; 
        } 
       }); 
       if (flag) { 
        ScanNavigationD($(Pages[0]).attr("class")); 
       } 
      } 
     }); 
    }); 

    $(function() { 
     app.run(); 
    }); 
+0

こんにちはTom、あなたのsammy設定コードを投稿できますか? –

+0

@Roysvork私の編集を確認してください –

+0

ページをプラグインAPIに正しくリンクしていることを確認しましたか?例えば LazerSharks

答えて

0

ます。この単純なコードの仕事?

var app = $.sammy('#main', function() { 
    this.get('#/:name', function() { 
     alert(this.params['name']); 
    }); 
}); 

$(function() { 
    app.run(); 
}); 

場合は、この小さなコードアラート「page_home」内部スクリプトと間違って何かがある: は、あなたがこれらの質問に答えることができるはずは:ScanNavigationD-機能がどこにあるの? 「スライド」/「ページ」はどこに定義されていますか?

EDIT:

[OK]を、私は私のコンピュータで別のテストをしました。

<スクリプトSRC = "http://code.jquery.com/jquery-1.8 sammy.js最初のjQueryを含ま

  1. のHTML文書を作成しました:私がやったことのthats。 3.min.js」タイプ= "テキスト/ javascriptの">

    <スクリプトSRC = "sammy.js" タイプ= "テキスト/ javascriptの">

  2. 私はとを求めVARSと機能を満たしましたダミーコンテンツ:

    <スクリプト>

    するvar ScanNavigationD =関数(){}、 スライド= [ 'slide1'、 'slide2']、 ページ= [ 'ページ1'、 'PAGE2']。

    <スクリプト>

  3. その後、私は私のhtml-文書にコードを貼り付けコピーします。すべてが働い

:>

  • <> //あなたのコードスクリプト <スクリプトは、その後、私はdivのメインコンテナを作成しました。私があなたが間違っていることを最後に見ているのは、あなたがあなたのローカルファイルシステム上にあることです。

    sammy.jsはウェブサーバーを実行する必要があるようです!少なくともローカルホスト!

    file://... 
    

    問題は、引数なしで呼び出さapp.runであるトム・ライダー@

  • +0

    「EDIT: – hereandnow78

    2

    動作しません。 サミーapp.run機能、URLが変更されたかどうかを確認するためにコール_checkLocationメソッドの前に(_setLocationメソッドを介して)アプリの現在位置を設定するためのSTART_URL引数を受け入れる... ので

    app.run(); 
    

    を変更しよう

    app.run('#/'); 
    

    この作品は私のためです。

    このfiddleに従って、デモを行い、コンソールを見てください:エラーはありません!

    +0

    ありがとう、私は同じ問題を抱えており、これで解決しました。 – user3281466

    0

    404エラーが見つからないことを解決するスクリプトを実行しているときに、page_homeをパラメータとして送信しているようです。ファイル全体で 'page_home'を探し、再帰的にどこから来ているのかを調べてみてください。

    関連する問題