链接到Sammy.js网站内的页面

时间:2014-02-07 05:53:54

标签: javascript jquery html sammy.js

我在我的网站上使用Sammy.js,我想通过电子邮件向网站上的某个页面发送链接。我已经设置了这样的链接:

this.get('#/', function(context) {
  $("#main").load("sections/home.html");
});

this.get('#/:page', function(context) {
  $("#main").load( "sections/" + this.params['page'] + ".html" );
});

第一个是默认设置,因此当您输入我的网站时,它首先会转到home.html部分,如果我把它拿出来,当我访问我的网站时,#main中没有任何内容加载。现在,如果我只是输入我的网址栏mywebsite.com/#/contact,它会加载mywebsite.com/#/,换句话说,直接加载到主页。

我会说,如果我首先访问主页mywebsite.com/#/,然后将URL修改为我想要的页面,它就会起作用。如果我按Enter键重新加载页面,或者我尝试再次修改它,它将返回主页。请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试将其包装在document.ready中并运行默认路由 - 如下所示:

$(document).ready(function () {

    Sammy('#main', function() { 
            $("#header").load("templates/header.html"); 
            $("#nav-bar").load("templates/nav-bar.html"); 
            $("#footer").load("templates/footer.html");

            this.get('#/', function(context) {
              $("#main").load("sections/home.html");
            });

            this.get('#/:page', function(context) {
              $("#main").load( "sections/" + this.params['page'] + ".html" );
            });

    }).run('#/');

})

这似乎对我有用。