我在单页应用程序中使用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方法)应用程序的当前位置,然后再调用_checkLocation方法来检查url是否已更改...
所以尝试改变

app.run();


app.run('#/');

这项工作对我来说。

按照此fiddle进行工作的演示,然后查看控制台:没有错误!

关于javascript - sammyJS javascript插件中的导航问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13702840/

10-12 03:28