1

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

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

4

1 回答 1

0

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

如果您需要将此逻辑应用于任何路由,则可以使用beforeafteraround事件之一。查看Sammy API 文档了解详细信息。

于 2013-01-10T14:43:59.993 回答