2013-06-14 1 views
11

AngularJS 용 개발자 안내서를 탐색 할 때 뒤로 버튼을 사용하여 페이지로 돌아갈 때 마지막 스크롤 위치로 돌아 가지 않는 것으로 나타났습니다. 대신, 나는 정상으로 바로 돌아 간다. 개발자 가이드는 AngularJS로 제작 되었기 때문에 AngularJS로 자체 웹 응용 프로그램을 만들면 동일한 경험을 가진 사용자가 귀찮아합니다. 왜 이런 일이 일어나고 어떻게 고칠 수 있습니까? HTML5의 기록 API를 어떻게 사용해야합니까?AngularJS 웹 앱의 경우 : 뒤로 버튼을 사용하여 다시 탐색 할 때 웹 페이지의 마지막 스크롤 위치가 기억 나지 않습니다. 왜? 어떻게 고치는 지?

이동 개발자 가이드와이 문제를 직접 참조 : http://docs.angularjs.org/guide/directive

+2

일반적으로 대부분의 브라우저는 xhrs가 "스크롤"을 수행 할 때까지 기다리지 않으므로 뒤로 버튼을 누르면 내용이로드되기 전에 페이지가 "스크롤"됩니다. 나는 아직 어떤 해결책도 조사하지 않았다. – DerekR

답변

8

당신이 그것을 수정하려는 경우에, 나는에 대한 서비스 나에 (지도에있는 모든 경로 스크롤 위치의 트랙을 유지의 아이디어를 생각할 수 rootScope) - 페이지를 떠날 때 ($routeChangeStart 청취자) 단지 경로 경로와 함께 스크롤 위치를 저장하십시오.

그리고 모든 페이지에 오는 경우지도의 레코드가 경로 경로 존재 $routeChangeSuccess 이벤트

관련 문제