2013-05-12 4 views
0

scrollTop()을 통해 이동하는 긴 페이지가 있습니다.popstate가 실행되면 페이지를 새로 고침 하시겠습니까?

scrollTop()은 브라우저의 뒤로 버튼으로 제대로 작동하지 않으므로 (브라우저에서 무시) 모든 팝업 스테이션에서 브라우저를 새로 고치려고하면 작동하고 사용자 스크롤 위치는 예상되는 위치가됩니다. 되려고.

문제는 내 코드가 무한히 새로 고침됩니다.

$(window).bind('popstate', function(event) { 
     //var path = window.location.pathname; 
     //var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1]; 
     //var pos = "#" + filename; 
     //$(document).scrollTop(pos); 
     location.reload(); 
    }); 

한 번 새로 고침 만하면 어떻게 고칠 수 있습니까? 나는 one()을 시도했지만 그 같은.

답변

-1

브라우저 기록을위한 jQuery 및 일반 JS 플러그인이 많이 있습니다. 원하는 것을 할 수 있습니다.
페이지를 새로 고치면 브라우저 기록을 사용할 수 있다고 생각하지 않습니다.

의 jQuery BBQ :
데모 http://benalman.com/projects/jquery-bbq-plugin/
: 문제가없는 일반 역사 구현에서, 스크롤에
http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/#chicken.html

역사 JS 나는 역사의 API를 사용하고
https://github.com/browserstate/history.js/

+0

입니다 . 브라우저는 앞/뒤로 탐색 할 때 스크롤 위치를 제어합니다. 아작스 물건들, 나는 또한 잘 작동한다. – user1721135

+0

popstate에서 브라우저를 한 번 새로 고칠 수 있다면 제대로 작동합니다. 스크롤 때문에 모든 플러그인이 작동하지 않습니다. 그냥 아약스라면 그렇습니다. 그들은 작동합니다. – user1721135

관련 문제