2011-09-23 2 views
0

"searchHighlight"은 키워드를 검색 할 때 검색 페이지에서 검색어를 강조 표시하기 위해 테스트 중입니다. 문제는 참조 URL 만 읽으며이 URL을 수정하는 방법을 모르기 때문에 참조 대신 현재 URL 만 읽는 것입니다.jQuery 강조 표시 URL을 기반으로 검색어를

e.e.

  1. 은 내가
  2. 결과가 검색 페이지에 올라와 '유리문'하지만 강조 검색
  3. 나는 단어 '유리 제품을 클릭 내 홈 페이지에서 우리의 검색 상자를 사용 '또는' '(유리'+ '문')

예 URL이 검색 그것은 내가 검색 한 단어를 강조하고이를 제품 페이지에서

  • 에서 '문 : http://tsqja.deznp.servertrust.com/SearchResults.asp?Search=glass+door&x=0&y=0

    위 예제에서 추천 URL 키워드를 기반으로 강조 표시 한 것을 볼 수 있습니다. 실제 검색 결과를 사용하고 싶습니다. 정규식이 내 검색 결과 페이지입니다.

    [/^http:\/\/(tsqja\.)?deznp\.servertrust/i,/Search=([^&]+)/i] 
    

    누구나 달성 할 수있는 방법을 알고 계십니까? 선호하는 jQuery를 통해 위의 정규 표현식을 기반으로 강조 표시된 검색어를 얻으시겠습니까?

  • +0

    글쎄, 문제는 해결되지 않지만 페이지의 쿼리 결과를 얻는 것은 매우 쉽습니다. 'location.search'로 URL의 현재'? something = blah' 부분을 얻을 수 있습니다 –

    +0

    감사합니다. – ToddN

    답변

    0

    keys 구성 옵션을 사용하여 검색 페이지에서 수동으로 강조 표시를 설정할 수 있습니다. 당신은 정규식을 사용하여 URL에서 검색어를 얻을 수있는 작은 스크립트를 사용할 수, 다음 SearchHighlight으로 구성을 전달합니다

    // Get the keys from the URL using a regex 
    // http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript 
    ... 
    
    // Put the keys into the options 
    var options = {keys: "Glass Door"} 
    jQuery(document).SearchHighlight(options); 
    

    keys 옵션을 완전히 리퍼러 검사를 비활성화 사용.

    +0

    나는 이것을 시도했지만 아마 다시 방문 할 필요가있다. 검색 용어를 잡고 '키'에 포함시키는 함수를 작성하면됩니다. 이 올바른지? – ToddN

    +0

    예, [데모 페이지] (http://www.jquery.info/scripts/SearchHighlight/demo_en.html)에서 어떻게 작동하는지 (용어를 찾은 후) 볼 수 있습니다. [코멘트에 포함 된 페이지] (http://stackoverflow.com/questions/901115/get-query-value-in-javascript)에서 검색어를 가져와야하는 몇 가지 기능이 있어야합니다. – mmcnickle

    0

    jQuery 용 SearchHighlight 플러그인을 사용해보십시오. 그들은 데모 페이지를 here

    +0

    나는 이것을 사용했지만 Referral 만 읽는다. 내가 지정한 URL 만 사용하도록 플러그인을 수정할 수 있고 추천을 사용하지 않으면 완벽 할 것입니다. – ToddN

    +0

    debug_referrer 옵션을 편집하려고 시도 했습니까? –

    +0

    나는이 다른 [플러그인] (http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html)을 발견했다. 정말 재미있다. –

    0

    음을 다시 한번 정확히 최고의 해결책이 아니다 ......하지만 당신은이를 사용할 수 있습니다

    현재의 URL 인 경우 페이지를 다시로드
    if(document.referrer !== location.href) location.reload() 
    

    리퍼러가 아닙니다. URL이 페이지로드시 끊임없이 변경되지 않는 경우에만 한 번 실행됩니다.

    관련 문제