выполнить if, если window.location содержит две строки и указанную переменную - PullRequest
1 голос
/ 27 декабря 2011

Я использую этот 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 ]

3 голосов
/ 27 декабря 2011

Вы можете сделать это, используя 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
}
1 голос
/ 27 декабря 2011

Хотя с регулярными выражениями все в порядке, это альтернатива:

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 голосов
/ 27 декабря 2011

предположим, вы хотите иметь определенный код для набора URL-адресов, который не имеет шаблона, или более, чем управляемые URL-адреса с конкретным шаблоном (например, 100 различных цветов).

Иметь поле элемента "spl_code" на странице и написать следующий код в слое JS

if(document.getElementById('spl_code')) {
    // write code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...