2011-09-28 3 views
3

페이지를로드하려면 어떻게해야합니까? rapidshare 다시로드하지 않고도 창을로드 할 수 있습니까? 예를 들어사이트 로딩과 같은 rapidshare

!!!

https://rapidshare.com/#!home

당신이 페이지를 탐색 할 경우, 브라우저 창이 그냥 # myrs_overview, #과 같은 URL의 마지막 매개 변수를 변경, 다시로드되지 buyrapids는 # 도움 등

내가 그것을 즉 위에서, 그 매개 변수 이름을주고있다 불을 지르고에서 볼 (집, buyrapids) http://screensnapr.com/v/wPJtCY.png

감사

답변

5

#!에서 찾을 수있는 hashbang라고하며이 standard for allowing Google to crawl ajax pages을합니다. 다음 예제 탐색 링크를 타고

: 우리가 원하지 않는 경우

<a href="contact.php" title="Contact Us" id="contact-us">Contact</a> 

페이지가 contact.php로 리디렉션하지만 우리에 그들은 단순히 페이지 정보를 다시 채울 AJAX를 사용하여 다음 해시 URL을 업데이트하고 내용을로드 할, 우리는 대신에이 작업을 수행 할 수 있습니다 :

<a href="#!contact" class="nav-link" rel="contact.php" title="Contact Us" id="contact-us">Contact</a> 

을 다음 JQuery와 함께 :

$('.nav-link').click(function(){ 
    var $this = $(this); 
    $.ajax({ 
     url: $this.attr('rel'), 
     success: function(data){ 
      $('body').fadeOut().html(data).fadeIn(); 
     } 
    }); 
}); 

누군가가 귀하의 사이트에 URL에 hashbang을 입력하면, 우리는 그것을 검색하고 적절한 페이지를로드하기 만하면됩니다. 이런 식으로 작동합니다 :

$(function(){ 
    if(window.location.hash){ 
     if(window.location.hash.indexOf('#!') === 0){ 
      $.ajax({ 
       url: window.location.hash.replace('#!','') + '.php', 
       success: function(data){ 
        $('body').fadeOut().html(data).fadeIn(); 
       } 
      }); 
     } 
    } 
}); 
+0

답장을 보내 주셔서 감사합니다. 귀하의 제안에 따라 노력했지만 작동하지 않습니다. 여기서 제가 잘못하고있는 부분을 말씀해 주시겠습니까? http://paste2.org/p/1677031 – user969068

+0

네 '$ (this)'가 범위를 벗어났습니다. 너무 빨라 :) 업데이트 된 코드를 확인하십시오. – AlienWebguy

+0

다시 한 번 감사드립니다. 기능은 작동하지만 연락처 href 태그는 작동하지 않습니다. goto url이 성공적으로 index.php #! contact를로드하면 href를 클릭하면 URL이 index.php에서 index.php로 변경됩니다. 페이지에서 변경하십시오. – user969068

0

당신이 찾고있는 용어는 AJAX입니다. "마지막 매개 변수"는 GET 매개 변수가 아니라 JavaScript에 의해 읽혀지는 앵커입니다. 이 기술로 시작하는

몇 가지 팁은 ajaxprojects.com

+0

대부분의 경우 아약스이지만 반드시 아약스 일 필요는 없습니다. 모든 컨텐츠가 단일 페이지에로드되어 다른 부분이 표시 될 수 있습니다. 용어는 anchor/hash이며, 이는 location.hash에 설정되고 거기에서 다시 시도됩니다. – Shef

관련 문제