2011-06-13 4 views
0

페이지에서 href를보고 뭔가를 변경해야하는 경우 텍스트의 특정 비트가 URL에 있는지 확인해야합니다 else를 추가 한 다음 끝에 위치를 추가하십시오. ? URL의 일부를 변경하고 특정 문자를 기반으로 URL을 추가하십시오. jQuery

링크가? "얼음/응용 프로그램 서비스 = 페이지 & 페이지 = probrowse"

전이 포함 된 경우

= probrowse & 고양이 http://www.google.com/ 얼음/응용 프로그램 서비스 = 페이지 & 페이지를 = 1 & 년 = 2011

"club/probrowse.htm?"으로 변경해야합니다.

예 : http://www.google.com/club/probrowse.htm?cat=1&year=2011

나는 현재 참작 될 수있는 아래 스크립트를 실행하고? URL에 &을 추가하고 href에 위치를 추가하십시오.

<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
     jQuery('a').attr('href', function() { 
       return (this.href.indexOf("?") >= 0) ? this.href + "&location=/abc/123" : this.href + "?location=/abc/123"; 
      }); 

    }); 
</script> 

나는 다른 사이트의 정보를 사용하고있어 사소한 URL을 변경해야하기 때문에 다른 충돌이 발생했습니다.

전반적인 목표는

google.com/ice/app?service=page에게 & 페이지를 변경하는 것입니다 = probrowse & 고양이 = 1 & 년 = 2011

google.com/로 club/probrowse.htm? cat = 1 & 연도 = 2011 년 & 위치 =/abc/123

+1

Wowzers. 당신이 이미 이것을 생각해 봤다면이 질문에 대해 용서해주십시오.하지만 JavaScript를 사용하여 URL을 해킹하는 것이 최선의 방법이라고 확신합니까? 일반적으로 소스 파일을 찾기/바꾸기 만하면됩니다. 또한 웹 색인 서비스 (예 : Google)는 URL이 렌더링 될 때이를 보게됩니다. 해킹 후에는 그렇지 않습니다. – Brian

+0

웹 색인 생성에 관심이 없습니다. 데이터가 페이지로 가져 오는 방식과 관련하여 다소 복잡합니다. 추가 작업이 잘 된 위치는 가져온 목록 하단의 "다음 페이지"시리즈에 대한 링크를 변경하려고합니다. – Michael

답변

1

나는 이것이 당신이 찾고있는 것입니다 :

<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(function(){ 
    var substr = 'ice/app?service=page&page=probrowse'; 
    var newstring = 'club/probrowse.htm?'; 
    jQuery("a").each(function(){ 
     if(this.href.indexOf(substr) != -1){ 
      var newHref = this.href; 
      newHref = newHref.replace(substr, newstring); 
      newHref += '&location=/abc/123'; 
      newHref = newHref.replace('?&','?'); 
      this.href = newHref; 
     } 
    }); 
}); 
</script> 
+0

나는 당신이 한 일을 취해 작은 조정을했습니다. 페이지의 다른 링크를 덮기 위해 else 문을 추가했습니다. 도와 줘서 고마워! – Michael

0
<script type="text/javascript"> 
    jQuery.noConflict(); 
    jQuery(function(){ 
     var substr = 'ice/app?service=page&page=probrowse'; 
     var newstring = 'club/probrowse.htm?'; 
     jQuery("a").attr('href', function(){ 
      if(this.href.indexOf(substr) != -1){ 
       var newHref = this.href; 
       newHref = newHref.replace(substr, newstring); 
       newHref += '&location=/abc/123'; 
       newHref = newHref.replace('?&','?'); 
       this.href = newHref; 
} else { 
     return (this.href.indexOf("?") >= 0) ? this.href + "&location=/abc/123" : this.href + "?location=/abc/123"; 
    } 

     }); 
    }); 
    </script> 
+0

당신 자신의 대답을 받아들이는 것은 좋지 않습니다. – Grekz

+0

그건 의도하지 않았어. 나는 너를 받아들이려고했다. 방금 다른 사람을위한 나의 최종 결과를 보여주기 위해 광산을 추가했습니다. 나는 그것을 정정하고 당신의 대답을 받아 들였다. – Michael

관련 문제