3

如果指定的 URL 与当前页面的 URL 匹配,我将使用以下内容执行某些操作:

if(window.location.href.indexOf("collections/all/colourful") > -1) {

我有一大堆这些,因为我似乎无法指定要应用该函数的 URL 列表。我想提供一个包含 10-40 个 URL 的列表来应用它。我试过(以两个 URL 为例):

if(window.location.href.indexOf("collections/all/colourful") || ("collections/all/notcolourful") > -1) {

if(window.location.href.indexOf("collections/all/colourful" || "collections/all/notcolourful") > -1) {

但似乎都不起作用。

对不起,如果这是基本的,但我看了看,在任何地方都找不到答案。提前致谢。

4

7 回答 7

6

如果您的 url 列表很长,这将不那么冗长和清晰:

var arrOfUrls = [url1, url2, url3]; //replace these with your url strings

var atLeastOneMatches = arrOfUrls.some(function(url) {
  return window.location.href.indexOf(url > -1);
});

if (atLeastOneMatches) {
  //do stuff here
}
于 2013-04-30T18:20:58.400 回答
2
if(window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1) {

您无法像您尝试的那样进行比较...基本上,您if(window.location... OR true)之前说过。

于 2013-04-30T18:16:24.157 回答
2

只有一种表达方式:

/collections\/all\/(not)colourful/.test( window.location.href )
于 2013-04-30T18:21:18.520 回答
0

您可能正在寻找这个:

if (window.location.href.indexOf("collections/all/colourful") > -1 || 
    window.location.href.indexOf("collections/all/notcolourful") > -1) { ... }
于 2013-04-30T18:16:30.047 回答
0

试试这个

if (window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1)
于 2013-04-30T18:17:28.353 回答
0

我会简单地浏览一个列表(数组),直到你找到一个:

var found = false;

for (var x = 0; x < listOfUrls.length; x ++){
  if(window.location.href.indexOf(listOfUrls[x] > -1) {
     found=true;
     break;
  }
}

if(found){//do something 
于 2013-04-30T18:17:54.383 回答
-1

使用 or 语句时需要重复整个命令。

if(window.location.href.indexOf("collections/all/colourful") > -1 || window.location.href.indexOf("collections/all/notcolourful") > -1)
于 2013-04-30T18:17:02.800 回答