2011-12-27 50 views
1

我使用这个JavaScript如果执行,如果window.location的包含两个字符串,并指定变量

<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> 

有更多variables,我会更喜欢它,如果JS if是沿线一些地方"+colorss+"可以是一组指定的可能性,我试过了下面的 编辑它必须包含http://my.blogspot.com/search/label/然后是一个指定的变量然后%20Template

<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(/(pink|yellow|blue)/.test(window.location)) { 
    // do something 
} 

或者,如果你想匹配整个URL:

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

对不起,我给了一个错误的URL,它的意思是我的(DOT)的BlogSpot所以my.blogspot.com/搜索....等 – 2011-12-27 00:33:59

+0

好的,更新了答案。 – David 2011-12-27 00:34:54

+0

Thankyou我会尽快接受你的回答,谢谢! – 2011-12-27 00:36:16

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种不同颜色)的可管理网址。

已经在页面中的元素“spl_code”字段,写在JS层下面的代码

if(document.getElementById('spl_code')) { 
    // write code 
} 
相关问题