문제

나는 합법적인 이유로 무엇을 나가려고 설명합니다.저는 있는 기존 사이트에 말 abc.com 는 정기적으로 페이지 etc.모든 written in php.지금고 싶 AJAXify 사이트 즉사용자는 링크를 클릭하면,그것은 가는 링크를 사용하여 아약스 및 대체 페이지 내용입니다.이것은 쉬운 부분이다 나는 그것을 달성할 수 있을 사용하여 jQuery 얻는 기능입니다.

지금 문제는 사용자가 북마크 페이지입니다.나는 사용할 수 있는 해시에 태그를 지정하는 경우에는 사용자가에서 다른 페이지를 사용하는 대신 자바 스크립트를 가져올 새 페이지를 다시,그것은 그것을 사용하여 직접 PHP 경우 페이지가 호출됩니다.

쉽게 확인할 수 있게 되었습니다 저는지 개략을 달성하는 방법에 대습니다.이 기능은 유사한 것 Facebook 니다.

에 대한 최신 정보를 시간이다.

도움이 되었습니까?

해결책

(1) 해시 태그를 구문 분석하고 (2) 평소와 같이 Ajax를 통해 컨텐츠를로드하는 상당히 단순히 프로세스입니다.

사용자가 페이지를 클릭 할 때 더 많은 콘텐츠를로드하면 해시 태그를 항상 올바르게 수정하여 페이지의 내용을 반영하십시오.

여기에 있습니다 빠른 예 함께 놀아요. 이름을 클릭하고 해시 태그를 기록하십시오. 관련 JavaScript는 다음과 같습니다.

// Go straight to content if it's in the hash.
$(document).ready(function(){
   load_story_from_hash();
});

// Call this function whenever user clicks on a hash link
function set_hash(hash){
   window.location.hash = hash;
   load_story_from_hash()
}

// Actually load content based on the hash in the URL
function load_story_from_hash(){

   var hash = window.location.hash;
   hash = hash.replace(/^#/, '');

   if (hash) {

      $('#post_container').load(hash+'.html', {}, function(){
         $.scrollTo('#post_container', 1000);
      });

   }

}

다른 팁

응답이 없이,당신이 얻을 수없는 가치 URL 의 해시습니다.보 을 얻는 방법 Url 의 해시(#)에서 server side.

당신의 해쉬값을 클라이언트 측고는 추가 요청을 합니다.

jQuery 역사는 내가 선호하는 선택입니다. 여기에서 찾을 수 있습니다. http://www.balupton.com/projects/jquery-history/ 크로스 브라우저 지원, 해시에 바인딩, 오버로드 해시 등을 제공합니다.

JQuery Ajaxy라고 불리는 AJAX 확장 기능도있어 서버 측 변경 사항이없고 SEO 및 JS 기능이없는 친화적 인 친화적 인 서버 측면 변경없이 웹 페이지를 쉽게 업그레이드 할 수 있습니다. http://www.balupton.com/projects/jquery-ajaxy/

이것은 그러한 사이트에서 선택한 솔루션입니다 http://wbhomes.com.au/ 그리고 http://www.balupton.com

전반적으로 그들은 잘 문서화되고, 지원되고, 특징이 있습니다. 그들은 또한 여기서 현상금 질문을 받았습니다 URL에서 Ajax 요청을 표시하는 방법은 무엇입니까?

이 도구 중 하나를 사용하거나 직접 굴릴 수 있습니다. Window.location.hash를 다른 트릭과 함께 사용합니다.

나는이 정확한 문제에 관한 기사를 최근에 썼습니다. 기사는 튜토리얼 스타일입니다. 해시 변경 이벤트를 사용하여 URL에 매개 변수를 추가하는 방법을 보여 주므로 무한 수의 매개 변수로 AJAX 요청을 트리거 할 수 있으므로 매우 확장 가능한 방식으로 작동 할 수 있습니다.

당신은 그것에 대해 더 자세히 찾을 수 있습니다 http://andresgallo.com/2012/06/08/ajaxifying-the-web-the-easy-way/

파트 I은 해시 링크에 응답하는 방법을 다루고 파트 II는 해시 URL의 데이터를 AJAX 요청으로 전송하는 방법을 다루므로 URL의 해시 태그에서 원하는 모든 것을 수행 할 수 있습니다.

이를 수행하는 가장 좋은 방법은 URL 부품을 기반으로 다른 모든 페이지를로드하는 하나의 index.php를 갖는 것입니다. 예를 들어:

http://www.example.com/index.php/reports/employees/hoursworked

이 경우 index.php가 실행되면 요청이 무엇인지 알 수 있습니다. 문제는 index.php가 ajax를 사용하여 다른 모든 컨텐츠를로드하면 브라우저의 URL이 변경되지 않는다는 것입니다.

이 문제를 해결하는 한 가지 방법은 사용자가 북마크 할 수 있도록 해당 URL 형식이 포함 된 모든 페이지에 "이 페이지 링크"링크를 넣는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top