Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sammyJS javascript插件中的导航问题?_Javascript_Jquery_Sammy.js - Fatal编程技术网

sammyJS javascript插件中的导航问题?

sammyJS javascript插件中的导航问题?,javascript,jquery,sammy.js,Javascript,Jquery,Sammy.js,我正在单页应用程序中使用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 /p

我正在单页应用程序中使用
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();
    });

这个简单的代码可以工作吗

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

$(function () {
    app.run();
});
如果此小代码提醒“page_home”,则您的脚本内部有问题: 然后您应该能够回答以下问题:ScanNavigationD函数在哪里?“幻灯片”/“页面”-数组在哪里定义

编辑:

好的,我在我的电脑上做了另一个测试。我就是这么做的:

  • 创建了一个html文档
  • 首先包括jQuery,然后是sammy.js

  • 我用虚拟内容填充了我要求的变量和函数:

    var ScanNavigationD=函数(){}, 幻灯片=['slide1','slide2'], Pages=['page1','page2']

  • 然后我将您的代码复制粘贴到我的html文档中

    //你的代码

  • 然后我创建了div主容器:

  • 一切顺利。我看不出你做错的最后一件事是,你只是在本地文件系统上

    sammy.js似乎需要一个Web服务器才能运行!至少是本地主机

    file://...
    

    无法运行

    @tom rider问题在于无参数调用app.run。 sammy app.run函数接受start_url参数(通过_setLocation方法)设置调用前的应用程序当前位置_checkLocation方法检查url是否更改。。。 所以试着改变

    app.run();
    

    这是我的工作


    下面是一个工作演示,看看控制台:没有错误

    运行脚本时,您似乎正在将
    page_home
    作为参数发送,该脚本将解析为404未找到错误。试着在你的文件中寻找“主页”,递归地找到它的来源

    嗨,汤姆,你能发布你的sammy配置代码吗?@Roysvork请检查我的编辑你确定你的页面正确链接到插件API了吗?e、 g.@shaltno他粘贴在这里的错误来自sammy.js,因此必须更正include,查看“编辑:”之后的所有内容:
    app.run('#/');