SammyJS,确定是否第一个请求

SammyJS, determine if first request

本文关键字:第一个 请求 是否 SammyJS      更新时间:2023-09-26

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

我的用例是,在某些情况下,当执行路由时,新的内容是不可见的,因为用户已经向下滚动页面。我想做一个$。

scrollTo在用户已经加载页面并点击触发路由的链接时执行,但如果用户直接在地址栏中访问路由,则不会执行scrollTo。

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

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