2012-09-09 3 views
0

여기 내 결과는 JSFiddle입니다. 어제 나는 create hashtag url에 그 질문을 게시했다. 나는 대답을 얻었지만 새로 고침하면 처음부터 시작한다.로드 해시 태그 URL 콘텐츠

예 : #content 2에서 새로 고침하면 #content 1이 표시됩니다. 나는 원하지 않습니다. 로드 이벤트에 사용해야한다고 생각합니다. 그러나 여기에 구현하는 방법을 모르십시오. 이것에 대한 해결책은 무엇입니까? 도와주세요.

답변

1

나는이 답변을 Create hashtag url using jquery에했습니다. 링크 된 스레드는 원래 해쉬 태그 (조각 식별자, 실제로는)를 사용하여 URL을 업데이트하는 것에 불과했기 때문에 여기에서 공유했습니다.하지만 다시로드 한 후 내용을 유지하는 것과 관련된 문제는 결국 해당 스레드의 OP에서 가져 왔습니다.

추가 클릭을 원하지 않는 사용자를 위해 코드는 매우 간단합니다. function setActive(i) { // codes } 뒤에 다음을 추가하십시오.

 var url = window.location.hash; // retrieve current hash value 
     if(url.indexOf('Content') != -1){ // do the following if URL's hash contains "Content" 
      // remove "#" symbol from retrieved hash value 
      var currentHash = window.location.hash.substring(1).split("#"); 
      // remove "-" symbol from retrieved hash value 
      var contentTitle = currentHash.toString().replace(/-/g, ' '); 
      // store hash value in "actualContent" variable 
      var actualContent = "This is " + contentTitle; 
      // remove "selected" for every instance of "myclass" to hide content first 
      $(".myclass").removeClass("selected"); 
      // find div that contains retrieved hash value's text stored in "actualContent" variable and add "selected" class to that div to display the correct content 
      $("div:contains('" + actualContent + "')").addClass("selected"); 
     } 
2

선택 사항을 페이지 전체에서 기억하려면 세션/서버 어딘가에 선택 사항을 저장해야합니다. 페이지를 다시로드하면 스크립트가 처음부터 시작됩니다. 세션에서 데이터를 다시 가져와야하는 항목을 미리 선택하려는 경우

또 다른 옵션은 javascript를 사용하여 쿠키에 선택 사항을 쓰고 해당 쿠키를 읽고 설정합니다. 초기 선택

You can learn about using a cookie here. 이 예제는 쿠키를 사용하여 사용자 이름을 저장하지만이를 사용하여 'content_selection'변수를 저장할 수 있습니다. 그런 다음 페이지가로드되면 쿠키 값을 읽고이를 사용하여 적절한 초기 콘텐츠를 선택하십시오.