2012-03-06 2 views
2

jQuery 작업을위한 사용자 정의 URL을 작성하려고합니다. 이 작업을 수행 할 수 있는지 또는 올바른 용어를 사용하고 있는지 확실하지 않습니다. 웹 사이트에 여러 개의 버튼이 있고 버튼 하나를 클릭하면 버튼과 관련된 정보가 표시됩니다. 방문자가로드 할 때 특정 정보를 여는 URL을 공유 할 수 있도록 버튼에 영구 링크를 만들고 싶습니다. 이 답변을 받았다면 용서해주십시오. 무엇을 검색해야할지, 어디에서 시작해야할지 몰랐습니다.jQuery 사용자 정의 URL

다음은 내가하고 싶은 것을 이해하는 데 도움이되도록 노력한 페이지에 대한 링크입니다. 또한

http://dl.dropbox.com/u/2600525/Overflow/home.html

나는 파이어 폭스가 제대로 slideToggle을 수행하지와의 문제가 발생하고있다. 누구든지 그것을 고칠 방법에 대한 정보가 있다면 크게 appriciated 것입니다.

답변

1

당신은 사용자가 선택한 버튼에 따라 다를 수 있습니다 특정 URL을 공유 할 수 있도록, 당신의 URL의 쿼리 문자열 부분을 업데이트 할 window.location.search을 사용할 수 있습니다 감사합니다.

$('#myButton').click(function(){ 
    window.location.search = "location=" + $(this).val(); // or any property from your clicked button 
}); 

는, 당신이 페이지가 다음 URL 중 하나를 방문 할 때, 당신은 제공된 값과 동일한 기술을 사용하여

http://dl.dropbox.com/u/2600525/Overflow/home.html?location=home ==> home page 
http://dl.dropbox.com/u/2600525/Overflow/home.html?location=anout ==> about page 

에 따라 동일한 속성에 대한 간단한 체크를 넣어 탐색 할 수 있습니다 동일한 목적을 위해 window.location.hash을 이용할 수 있지만, 지금은 거 href은 다음과 같다 '모든 버튼을합니다

<a href="#WhoWeAre"></a> 
<a href="#WhatWeDo"></a> 

는 t을 사용 같은 방법으로 URL을 업데이트하고 페이지 방문시 값을 확인하십시오.

window.location과 관련된 다양한 옵션에 대해 설명하는 https://developer.mozilla.org/en/DOM/window.location 페이지를 방문하시는 것이 좋습니다.

+0

(예를 들어, 나는 적절하게 <h1>About</h1><h1>Contact</h1>을 넣어) 내 href는 어떻게 보일 것입니다. 나는 코딩에 익숙하지 않고 이해하지 못해 사과드립니다. – buckeytucker

+0

모하메드는'location.search'에 관한 샘플을 제공했고'location.hash'에 관해 샘플을 제공했습니다. 너 또 뭐 할거야? 나는 나의 응답을 편집하여'location.hash'를 사용하여 완전한 예제를 포함시켰다. 나는 이것이 당신이 찾고 있었던 것이기를 바랍니다. – Kurt

0

많은 AJAX (전체 페이지 새로 고침없이 내용로드)를 사용하는 사이트에서 일했습니다. 그들은 역사와 북마크가 가능하기를 원했습니다. 따라서 동적 데이터 (예 : site.com/account#settings 또는 site.com/account#profile)로 페이지 섹션을 나타내는 데 URL 해시를 사용했습니다. (document).load에 해시를 기반으로 적절한 데이터 세그먼트를로드합니다.

할 수 있습니다 :

  1. 와 현재의 해시 수 :

    window.location = '#...'; 
    // or (depending on use) 
    window.location.href = '#...'; 
    
  2. var hash = window.location.hash; 
    
  3. 세트가

    ,432로 변경 듣기 10

희망이 도움이됩니다.

편집 :

  • 내부 index.htmlhead

    1. 파일 index.html

    2. 만들기 :

      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
      <script type="text/javascript"> 
      // load data from hash value (map it to url) 
      function load_hash() { 
          var hash = window.location.hash; 
          var content = $('#content'); 
          if (hash == '#about') { 
           content.load('about.html'); 
          } 
          else if (hash == '#contact') { 
           content.load('contact.html'); 
          } 
      } 
      
      // load data based on hash and listen to changes 
      $(document).ready(function() { 
          load_hash(); 
          $(window).bind('hashchange', function() { 
           load_hash(); 
          }); 
      }); 
      </script> 
      
    3. body 내부는 기본 동작하는 예제를 포함:

      <a href="#about">About</a> 
      <a href="#contact">Contact</a> 
      <div id="content"></div> 
      
    4. 파일 about.html과 같은 디렉토리에 contact.html 만들기; 다음에 텍스트를 넣어하지만 당신은 둘 사이를 구별 할 수 있는지 확인 미안하지만 난 완전히 내 jQuery를 제자리에두고 어떻게 보이는지 이해하지 못하는