执行if, if窗口.Location包含两个字符串和一个指定变量

execute if, if window.location contains two strings and a specified variable

本文关键字:if 一个 变量 字符串 窗口 Location 包含两 执行      更新时间:2023-09-26

我正在使用这个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+"可以是指定可能性数组的路线,我更喜欢它,我已经尝试了以下方法EDIT必须包含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>

您可以使用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
}

虽然使用正则表达式也可以,但这是另一种选择:

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

对于这类事情来说,简单的循环就足够了。

假设,您希望为一组没有模式的url或多个具有特定模式(例如100种不同颜色)的可管理url提供特定代码。

在页面中添加元素'spl_code'字段,并在JS层中编写以下代码

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