2013-01-02 2 views
1

sammyJS 라우트가 처음 실행될 때 (브라우저 새로 고침과 같이) 또는 페이지가 처음로드 된 후 라우트에 액세스 중인지 판별하고 싶습니다.SammyJS, 첫 번째 요청 여부 확인

사용자가 페이지를 아래로 스크롤했기 때문에 루트가 실행될 때 새로운 내용이 표시되지 않는 경우가 있습니다. 사용자가 이미 페이지를로드하고 경로를 트리거하는 링크를 클릭했을 때 $ .scrollTo를하고 싶지만 사용자가 주소 표시 줄에서 직접 경로에 액세스하면 scrollTo가 실행되지 않습니다.

답변

0

생각이 나면 처음에는 false로 설정된 플래그가 필요하고 경로 콜백에서 true로 전환됩니다. 그런 다음 플래그가 false이면 스크롤 메서드를 호출합니다. 플래그 범위는 Sammy 앱 객체 범위보다 커야합니다. 즉, Sammy 초기화 함수를 호출하기 전에 플래그를 정의해야합니다. 브라우저가 페이지를 다시로드 할 때마다 플래그가 다시 false가됩니다 (자바 스크립트 엔진은 각 HTML 페이지 새로 고침/다시로드시 다시 시작됩니다).

이 논리를 모든 경로에 적용해야하는 경우 before, afteraround 이벤트 중 하나를 사용할 수 있습니다. 자세한 내용은 the Sammy API docs을 확인하십시오.