SammyJS,确定是否第一次请求

时间:2013-01-02 17:03:05

标签: javascript sammy.js

我想确定是否第一次执行sammyJS路由(如刷新浏览器),或者是否在初始加载页面后访问路径。

我的用例是,在某些情况下,当执行路由时,新内容不可见,因为用户已向下滚动页面。我想在用户已加载页面时执行$ .scrollTo,然后单击触发路径的链接,但如果用户直接在地址栏中访问路径,则不会执行scrollTo。

1 个答案:

答案 0 :(得分:0)

如果我明白了,你只需要一个最初设置为false的标志,然后在路由回调中切换为true。然后,如果标志为false,则调用滚动方法。标志范围必须大于Sammy app对象范围,即您应该在调用Sammy初始化函数之前定义标志。每次浏览器重新加载页面时,标志将再次为false(请记住,每次HTML页面刷新/重新加载时都会重新启动javascript引擎)。

如果您需要将此逻辑应用于任何路线,则可以使用beforeafteraround事件之一。查看the Sammy API docs了解详情。