对于window.location.href.indexOf()使用变量

时间:2015-06-17 11:53:47

标签: javascript jquery

我想要做的是使用window.location.href.indexOf()的变量这是我的代码,我希望能够缩短它。

var urls  = [
'https://www.example.com/' 
,'https://www.example2.com/' 
,'https://www.example3.com/'  
,'https://www.example4.com/'
,'https://www.example5.com/'
];



// if ((window.location.href.indexOf(""+urls+"") > -1) Does not work
if (
(window.location.href.indexOf("https://www.example.com/") > -1)
|| (window.location.href.indexOf("https://www.example2.com/") > -1)
|| (window.location.href.indexOf("https://www.example3.com/") > -1)
|| (window.location.href.indexOf("https://www.example4.com/") > -1)
|| (window.location.href.indexOf("https://www.example5.com/") > -1)   
) {
//do stuff

}

我已经将我在代码中尝试过的内容包括在内但它不起作用。 javascript和jquery都适合我

5 个答案:

答案 0 :(得分:3)

您需要在数组上使用indexOf来搜索网址数组中的window.location.href

更改

if ((window.location.href.indexOf(""+urls+"") > -1)

if (urls.indexOf(window.location.href) > -1)

答案 1 :(得分:3)

试试这样:

if (urls.indexOf(window.location.href) > -1)

而不是

if ((window.location.href.indexOf(""+urls+"") > -1)

答案 2 :(得分:3)

像这样检查

[^)]

答案 3 :(得分:2)

var href = window.location.href; 

//there you need to strip params and leave only domain (https://www.example.com/index.php?q=a convert to https://www.example.com/)

//and then
if (urls.indexOf(href) > -1) {...}

答案 4 :(得分:0)

由于您已经在数组中拥有URL,因此您可以使用循环来测试URL,如下所示:

var test = false;
for(var i=0; i < urls.length; i++) {
    test = test || location.href.indexOf(urls[i]) > -1;
}

if( test ) {
    //do stuff
}