簡體   English   中英

在sammyJS javascript插件中導航問題?

[英]Issue with navigation in sammyJS javascript plugin?

我在單頁應用程序中使用sammy.js插件。 插件無效,每當用戶嘗試在頁面中導航時,它在控制台上顯示以下錯誤:

[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

這是什么問題,如何解決?

編輯

Sammy配置代碼:

 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();
    });

@ tom-rider問題是沒有參數調用的app.run。 sammy app.run函數接受一個start_url參數來設置(通過_setLocation方法)app當前位置,然后調用_checkLocation方法來檢查url是否被更改...所以嘗試更改

app.run();

app.run('#/');

這項工作對我來說。

按照這個小提琴進行工作演示並查看控制台:沒有錯誤!

這個簡單的代碼會工作嗎?

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

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

如果這個小代碼警告'page_home'你的腳本里面有問題:那么你應該能夠回答這些問題:ScanNavigationD-Function在哪里? “幻燈片”/“頁面”在哪里 - 數組定義?

編輯:

好的,我在我的電腦上做了另一次測試。 多數民眾贊成我所做的:

  1. 創建了一個html文檔
  2. 包括第一個jQuery然后sammy.js

    <script src =“http://code.jquery.com/jquery-1.8.3.min.js”type =“text / javascript”>

    <script src =“sammy.js”type =“text / javascript”>

  3. 我用虛擬內容填寫了我要求的變量和函數:

    <SCRIPT>

    var ScanNavigationD = function(){},slides = ['slide1','slide2'],Pages = ['page1','page2'];

    <SCRIPT>

  4. 然后我將你的代碼粘貼到我的html文檔中。

    <script> //您的代碼<script>

  5. 然后我創建了div-main容器:

一切順利。 我看到你做錯的最后一件事是,你只是在你的本地文件系統上。

sammy.js似乎需要一個網絡服務器才能運行! 至少localhost!

file://...

不管用

似乎您在運行腳本時將page_home作為參數發送,該腳本解析為404未找到錯誤。 嘗試在整個文件中查找“page_home”,遞歸查找它的來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM