Jquery.history를 기반으로 ajax의 앞으로 및 뒤로 문제를 해결합니다.

亚连
풀어 주다: 2018-05-24 15:09:33
원래의
1547명이 탐색했습니다.

이 글에서는 Jquery Forward 및 Backward에 대한 지식이 포함된 Jquery.history를 기반으로 하는 Ajax의 Forward 및 Backward 문제를 해결하는 방법을 주로 소개합니다. 이 글의 내용은 고전적이며 관련 지식이 뛰어납니다. jquery Forward 및 Backward는 참고용으로 Script House 웹사이트에 공유됩니다.

다음 내용은 Ajax의 Forward 및 Backward 문제를 해결하는 Jquery.history에 대한 내용입니다.

이 글의 전제는 배경을 기반으로 하므로 여기서 SEO 문제는 고려하지 않습니다. 동시에 백엔드 기반의 관리 시스템은 수집할 필요가 없기 때문에 URL을 직접 입력하는 등의 새로고침 상황은 고려하지 않습니다! ! !

여기서는 html5의 History.state를 사용하여 문제를 해결합니다.

인터넷에는 이미 pushState라는 js용 오픈소스 솔루션이 있습니다. 자세한 내용은 pjax를 참조하세요

하지만 이 솔루션은 내 프로젝트(백엔드 프로젝트)에 적합하지 않으며 특히 주요 방법이 약간 부족합니다.

저는 jquery.history.js를 사용하고 있습니다. 이 History.js를 참고하시면 됩니다.

아래 코드를 보세요

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
  <script src="js/jquery.history.js"></script>
</head>
<body>
로그인 후 복사

Username br/> js

History.Adapter.bind(window, 'statechange', function () { 뒤로 앞으로 또는 히스토리 js 메서드를 클릭하면 변경 사항을 모니터링함을 나타냅니다. 변경 사항이 발생하면,

History.pushState에는 상태 제목 및 사용자 정의된 주소 쿼리 매개변수가 있습니다. 이 메소드는 기록 레코드에 데이터를 추가하고 주소 표시줄을 수정합니다.

3개의 프로세스

1 golbalState에 저장합니다. 여기서 콜백 메소드는 태그의 funname 속성에서 호출되고 title의 값은 태그의 title 속성인

"globalPara"에서 가져옵니다. : "globalControlValue": "globalControlHtml" displayinfo
와 같은 ajax 메소드에서 값을 할당하는 것이 가장 좋습니다


3 기록 레코드에 History.pushState를 추가하고 주소 표시줄을 수정합니다

4 돌아갈 때 다음을 실행합니다. History.Adapter.bind에서 메소드를 실행하고 상태 매개변수를 먼저 가져옵니다

5 원래 값으로 돌아가기 전에 js에서 수정한 변수를 수정하고, 이전에 수정한 html 컴포넌트의 값을 다시 원래 값으로 변경하고, html 콘텐츠를 다시 원래 값으로 복원합니다. 수정된 html 컴포넌트를 원래 값으로


6 원래 실행된 메소드, 즉 CallbackFunctions에 저장된 메소드를 다시 실행합니다.


위 내용이 여러분에게 도움이 되길 바랍니다.

관련 기사:


HTML5에서 postMessage 지식 포인트를 사용하여 Ajax의 POST 교차 도메인 문제 해결


Ajax의 일부 공통 속성, 이벤트 및 방법의 대문자 사용에 대한 일반적인 질문 요약 object


Ajax 요청 세션 실패 문제를 해결하는 방법


위 내용은 Jquery.history를 기반으로 ajax의 앞으로 및 뒤로 문제를 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿