복붙노트

[JQUERY] 어떻게 자바 스크립트를 사용하여 URL에 #hash를 확인할 수 있습니다?

JQUERY

어떻게 자바 스크립트를 사용하여 URL에 #hash를 확인할 수 있습니다?

해결법


  1. 1.단순한:

    단순한:

    if(window.location.hash) {
      // Fragment exists
    } else {
      // Fragment doesn't exist
    }
    

  2. 2.

      if(window.location.hash) {
          var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
          alert (hash);
          // hash found
      } else {
          // No hash found
      }
    

  3. 3.다음을 넣어 :

    다음을 넣어 :

    <script type="text/javascript">
        if (location.href.indexOf("#") != -1) {
            // Your code in here accessing the string like this
            // location.href.substr(location.href.indexOf("#"))
        }
    </script>
    

  4. 4.URI가 문서의 위치가 아닌 경우,이 조각은 당신이 원하는 것을 할 것입니다.

    URI가 문서의 위치가 아닌 경우,이 조각은 당신이 원하는 것을 할 것입니다.

    var url = 'example.com/page.html#anchor',
        hash = url.split('#')[1];
    
    if (hash) {
        alert(hash)
    } else {
        // do something else
    }
    

  5. 5.당신이 봤어?

    당신이 봤어?

    if (url.indexOf('#') !== -1) {
        // Url contains a #
    }
    

    (여기서 URL은 분명히 확인하고자하는 URL입니다.)


  6. 6.

    $('#myanchor').click(function(){
        window.location.hash = "myanchor"; //set hash
        return false; //disables browser anchor jump behavior
    });
    $(window).bind('hashchange', function () { //detect hash change
        var hash = window.location.hash.slice(1); //hash to string (= "myanchor")
        //do sth here, hell yeah!
    });
    

    이 문제를 해결합니다;)


  7. 7.

    window.location.hash 
    

    해시 식별자를 반환합니다


  8. 8.... 또는 JQuery와 선택이있다 :

    ... 또는 JQuery와 선택이있다 :

    $('a[href^="#"]')
    

  9. 9.다음은 주기적으로 해시의 변화를 확인하기 위해 수행 한 후 해시 값을 처리하는 함수를 호출 할 수있는 작업.

    다음은 주기적으로 해시의 변화를 확인하기 위해 수행 한 후 해시 값을 처리하는 함수를 호출 할 수있는 작업.

    var hash = false; 
    checkHash();
    
    function checkHash(){ 
        if(window.location.hash != hash) { 
            hash = window.location.hash; 
            processHash(hash); 
        } t=setTimeout("checkHash()",400); 
    }
    
    function processHash(hash){
        alert(hash);
    }
    

  10. 10.대부분의 사람들은 document.location에있는 URL 속성을 알고 있습니다. 당신은 현재 페이지에 관심이 있다면 그건 좋아요. 하지만 문제는 페이지가 아닌 페이지 자체에 앵커를 구문 분석 할 수있는 관하여이었다.

    대부분의 사람들은 document.location에있는 URL 속성을 알고 있습니다. 당신은 현재 페이지에 관심이 있다면 그건 좋아요. 하지만 문제는 페이지가 아닌 페이지 자체에 앵커를 구문 분석 할 수있는 관하여이었다.

    무엇 대부분의 사람들이 미스에 보이는 것은 그 같은 URL 속성 앵커 요소로도 사용할 수 있다는 것입니다 :

    // To process anchors on click    
    jQuery('a').click(function () {
       if (this.hash) {
          // Clicked anchor has a hash
       } else {
          // Clicked anchor does not have a hash
       }
    });
    
    // To process anchors without waiting for an event
    jQuery('a').each(function () {
       if (this.hash) {
          // Current anchor has a hash
       } else {
          // Current anchor does not have a hash
       }
    });
    

  11. 11.

    function getHash() {
      if (window.location.hash) {
        var hash = window.location.hash.substring(1);
    
        if (hash.length === 0) { 
          return false;
        } else { 
          return hash; 
        }
      } else { 
        return false; 
      }
    }
    

  12. 12.

    var requestedHash = ((window.location.hash.substring(1).split("#",1))+"?").split("?",1);
    

  13. 13.파트 리지와 Gareths 코멘트 위의 중대하다. 그들은 별도의 대답을 가치가있다. 분명히, 해시 및 검색 속성은 HTML 링크 개체에서 사용할 수 있습니다 :

    파트 리지와 Gareths 코멘트 위의 중대하다. 그들은 별도의 대답을 가치가있다. 분명히, 해시 및 검색 속성은 HTML 링크 개체에서 사용할 수 있습니다 :

    <a id="test" href="foo.html?bar#quz">test</a>
    <script type="text/javascript">
       alert(document.getElementById('test').search); //bar
       alert(document.getElementById('test').hash); //quz
    </script>
    

    또는

    <a href="bar.html?foo" onclick="alert(this.search)">SAY FOO</a>
    

    당신이 주변에 jQuery를하려면이 정규 문자열 변수에 필요 일어날 경우, 이 작업을해야합니다 :

    var mylink = "foo.html?bar#quz";
    
    if ($('<a href="'+mylink+'">').get(0).search=='bar')) {
        // do stuff
    }
    

    (하지만 어쩌면 조금 과장 ..)


  14. 14.임의의 문자열로부터 URI 같은 위치 속성을 추출하는 방법으로서 여기에서이 투척. 위치 instanceof를 스크립팅 window.location은 사실이지만, 위치 호출하는 모든 시도는 불법 생성자의 당신을 말할 것이다. 당신은 여전히 ​​다음에서는 window.location 모든 주소 등록 정보를 공유하는 DOM 앵커 요소의 HREF 속성으로 당신의 문자열을 설정하여 해시, 쿼리, 프로토콜 등 같은 것들을 얻을 수 있습니다.

    임의의 문자열로부터 URI 같은 위치 속성을 추출하는 방법으로서 여기에서이 투척. 위치 instanceof를 스크립팅 window.location은 사실이지만, 위치 호출하는 모든 시도는 불법 생성자의 당신을 말할 것이다. 당신은 여전히 ​​다음에서는 window.location 모든 주소 등록 정보를 공유하는 DOM 앵커 요소의 HREF 속성으로 당신의 문자열을 설정하여 해시, 쿼리, 프로토콜 등 같은 것들을 얻을 수 있습니다.

    이 일을 가장 간단한 방법입니다 :

    var a = document.createElement('a');
    a.href = string;
    
    string.hash;
    

    편의를 위해 문자열 및 생산 객체에서는 window.location 같은 걸릴 것 하나를 기본 위치 생성자로 교체 할 경우에 활용하는 작은 라이브러리를 썼다 : Location.js를


  15. 15.일반적으로 클릭 위치 변경보다 먼저가, 그래서 클릭 후에서는 setTimeout에 좋은 아이디어입니다 업데이트하면 window.location.hash를 얻을 수 있습니다

    일반적으로 클릭 위치 변경보다 먼저가, 그래서 클릭 후에서는 setTimeout에 좋은 아이디어입니다 업데이트하면 window.location.hash를 얻을 수 있습니다

    $(".nav").click(function(){
        setTimeout(function(){
            updatedHash = location.hash
        },100);
    });
    

    또는 당신은 위치를 함께들을 수 있습니다 :

    window.onhashchange = function(evt){
       updatedHash = "#" + evt.newURL.split("#")[1]
    };
    

    내가 좋아하는 일을하는 jQuery 플러그인을 작성 당신은 무엇을하길 원합니까.

    그것은 간단한 앵커 라우터입니다.


  16. 16.다음은 간단한 기능입니다 반환 참 또는 거짓 (가 / 해시 태그가 없습니다)

    다음은 간단한 기능입니다 반환 참 또는 거짓 (가 / 해시 태그가 없습니다)

    var urlToCheck = 'http://www.domain.com/#hashtag';
    
    function hasHashtag(url) {
        return (url.indexOf("#") != -1) ? true : false;
    }
    
    // Condition
    if(hasHashtag(urlToCheck)) {
        // Do something if has
    }
    else {
        // Do something if doesn't
    }
    

    이 경우에 true를 돌려줍니다.

    존 - 스키트의 코멘트 @ 기준으로합니다.


  17. 17.이는 현재 페이지의 URL이를 테스트 할 수있는 간단한 방법입니다 :

    이는 현재 페이지의 URL이를 테스트 할 수있는 간단한 방법입니다 :

      function checkHash(){
          return (location.hash ? true : false);
      }
    

  18. 18.때때로 당신은 "#anchorlink? FIRSTNAME = 마크"로 전체 쿼리 문자열을 얻을

    때때로 당신은 "#anchorlink? FIRSTNAME = 마크"로 전체 쿼리 문자열을 얻을

    이 해시 값을 얻을 내 스크립트입니다 :

    var hashId = window.location.hash;
    hashId = hashId.match(/#[^?&\/]*/g);
    
    returns -> #anchorlink
    
  19. from https://stackoverflow.com/questions/298503/how-can-you-check-for-a-hash-in-a-url-using-javascript by cc-by-sa and MIT license