我想确定是否第一次执行sammyJS路由(如刷新浏览器),或者是否在初始加载页面后访问路径。
我的用例是,在某些情况下,当执行路由时,新内容不可见,因为用户已向下滚动页面。我想在用户已加载页面时执行$ .scrollTo,然后单击触发路径的链接,但如果用户直接在地址栏中访问路径,则不会执行scrollTo。
答案 0 :(得分:0)
如果我明白了,你只需要一个最初设置为false的标志,然后在路由回调中切换为true。然后,如果标志为false,则调用滚动方法。标志范围必须大于Sammy app对象范围,即您应该在调用Sammy初始化函数之前定义标志。每次浏览器重新加载页面时,标志将再次为false(请记住,每次HTML页面刷新/重新加载时都会重新启动javascript引擎)。
如果您需要将此逻辑应用于任何路线,则可以使用before
,after
和around
事件之一。查看the Sammy API docs了解详情。