我在我的网站上使用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键重新加载页面,或者我尝试再次修改它,它将返回主页。请帮忙。
答案 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('#/');
})
这似乎对我有用。