2012-04-15 1 views
3

내 사이트에는 왼쪽에 탐색 모음이 있습니다. 링크를 클릭하면 내 페이지의 #container div는 변경되지만 아약스는 변경되지 않습니다. 전 #container div를 상태에서 앞뒤로 이동시키는 앞뒤 버튼을 넣고 싶습니다. 나는 history.js가 이것에 가장 좋을 것이라고 읽었고 html5 history api를 훑어 보았지만 내 문제를 해결하는 방법을 모르겠다. 또한 새로 고침 버튼을 구현하려면 어떻게해야합니까?history.js 사용 방법?

답변

6

찾고있는 내용이 PJAX과 비슷합니다.

HTML5 기록 API (History.js가 구현하는/shims)는 응용 프로그램의 상태를 직접 유지하지 않습니다. 그보다는 창 URL의 변경 사항을 실제로 변경 내용을 렌더링하는 함수에 매핑하는 메커니즘을 제공합니다. 대신에 상태를 기록, 당신은, 당신이 대신 내용을 저장할 수 있습니다 (PJAX 또는 유사한 라이브러리를 사용하지 않고) 컨테이너의 내용을 변경하고자하는,

History.Adapter.bind(window, 'statechange', function() { 
    var State = History.getState(); 
    History.log(State.data, State.title, State.url); 
}); 

경우 : readme이 달성 할 수있는 방법에 대한 통찰력을 제공합니다 #container 때마다 당신이 pushState 전화와 같은 뭔가를 핸들러 함수를 조정 : 물론

History.Adapter.bind(window, 'statechange', function() { 
    var State = History.getState(); 
    $('#container').empty().append(State.data.content); 
}); 

History.pushState({content:"Hello, world!"}, "State 1", "?state=1"); 

을, 당신은 당신의 상황의 특성을 반영하기 위해 변경해야합니다.

+0

좋아, 내가 pjax 것을 체크 아웃하고 작동하는 것 같습니다. 로드 GIF가 작동하는 방법을 모르지만. 이 링크는'$ ('li a') .pjax ('# container');'링크를 클릭했을 때 pjax를 사용하는 코드 라인이고'

  • main
  • 'main.html은 #container에서 실제로 표시되는 파일입니다. 그것은 작동하고, 나는 앞뒤로 갈 수 있지만, 매우 glitchy처럼 보입니다. 그리고로드하는 gif를 구현하는 방법을 알고 싶습니다. – Wilfred

    +0

    또한 main.html이 호출중인 실제 파일이기 때문에 페이지를 새로 고칠 수 없거나 파일 출력 만 표시됩니다. 내가 어떻게 고칠 수 있니? – Wilfred

    관련 문제