2011-12-27 3 views
1

변수경우에서는 window.location 두 개의 문자열과 포함 된 경우, 실행 지정된 나는이 자바 스크립트를 사용하고

JS if이 라인을 따라 뭔가 있다면 많은 variables 더 내가 선호하는 많은 것이있다
<script> 
var windowloc = window.location; 
var pink ="http://my.blogspot.com/search/label/Pink%20Template"; 
var blue ="http://my.blogspot.com/search/label/blue%20Template"; 
var yellow ="http://my.blogspot.com/search/label/yellow%20Template"; 
if((windowloc==pink)||(windowloc==blue)||(windowloc==yellow)){ 
//execute JavaScript 
} 
</script> 

"+colorss+" 지정된 가능성의 배열이 될 수 있습니다. 아래에서 시도했습니다. EDIThttp://my.blogspot.com/search/label/ 다음에 %20Template을 포함해야합니다.

if(/(pink|yellow|blue)/.test(window.location)) { 
    // do something 
} 

을 아니면 전체 URL과 일치 할 경우 :

<script> 
var windowloc = window.location; 
var colorss = "'Pink'||'yellow'||'blue'"; 
if(windowloc=='http://my.blogspot.com/search/label/'+colorss+'%20Template'){ 
//execute JavaScript 
} 
</script> 

답변

3

당신은 regexp를 사용하여이 작업을 수행 할 수 있습니다

if(/my\.blogspot\.com\/search\/label\/(pink|yellow|blue)%20Template$/.test(window.location)) { 
    // do something 
} 
+0

미안 내가이 my.blogspot.com/ 그래서 내 (DOT)는 Blogspot 될 운명이 된 잘못된 URL을 준 JS 층에서 다음 코드를 작성 검색 .... 등 –

+0

확인, 업데이트 답변. – David

+0

고마워요. 내가 허락하자마자, 네 대답을 받아 들일거야, 고마워! –

1

정규 표현식으로 그 일을하는 것은 잘 작동 것이지만를,이다 대안 :

var windowloc = window.location; 
var colors = ['Pink','Yellow','Blue']; 
for (i = 0; i < colors.length; i++) { 
    var colorss = colors[i]; 
    if(windowloc=='http://my.blogspot.com/search/label/'+colorss+'%20Template'){ 
     //execute JavaScript 
    } 
} 

단순한 루프만으로도 이런 종류의 일에 꼭 필요한 것입니다.

0

패턴이 없거나 특정 패턴 (예 : 100 가지 색상)을 가진 관리 가능한 URL보다 많은 URL 세트에 대한 특정 코드가 필요하다고 가정 해보십시오.

는 페이지의 요소 'spl_code'필드를 가지고

if(document.getElementById('spl_code')) { 
    // write code 
}