如果,window.location包含两个字符串和一个指定的变量,则执行if

时间:2011-12-27 00:24:05

标签: javascript jquery window.location

我正在使用此javascript

<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 个答案:

答案 0 :(得分:3)

您可以使用regexp执行此操作:

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

或者如果您想匹配整个网址:

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

答案 1 :(得分: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
    }
}

简单循环就是这类事情所必需的。

答案 2 :(得分:0)

假设您希望为没有模式的URL集或特定模式的可管理URL(如100种不同颜色)设置特定代码。

在页面中有一个元素'spl_code'字段,并在JS层

中编写以下代码
if(document.getElementById('spl_code')) {
    // write code
}