如果path包含目录

时间:2016-01-30 18:49:53

标签: javascript

我想在属于特定网址路径的每个网页上触发数字营销代码,例如example.com/sachin目录下的sachin

我已经尝试if (location.href === 'example.com/sachin.*/'),但不知何故条件似乎不起作用。

location.href如果我想覆盖URL路径中的所有不同资源,请参阅sachin目录下的正确if条件是什么?

3 个答案:

答案 0 :(得分:1)

我认为您要检查网址是否包含example.com/sachin。很少有任何URL会包含4个正斜杠,但你要做的就是使用indexOf。

if(location.href.indexOf("example.com/sachin/") != -1){
     //Do something
}

这基本上是说,如果" example.com/sachin /"在一个不是-1的索引位置(这意味着它不存在)中找到给定字符串中的某个位置(在本例中为location.href),然后执行。

答案 1 :(得分:1)

您需要使用Regular Expressions来匹配所需的资源。

类似的东西:

if(location.href.match(/^http:\/\/example.com\/sachin\//)){
  //your staff here
}

答案 2 :(得分:1)

检查网址中特定目录的另一种方法。

function urlContains(url, value) {
  return ~url.indexOf(value);
}

if (urlContains(location.href, "/sachin/")) {
  // found

} else {
  // not found
}

indexOf方法检查字符串是否传递了值,如果未找到结果则返回-1。

您可以使用Bitwise NOT运算符== -1将-1转换为0(falsy值,而不是检查!= -1~,在javascript中,非零值被视为truthy值。