jQuery检查当前URL

11

我们在页面 'http://site.com/movies/moviename/'

如何知道当前URL(直接位于网站根目录后面)中是否存在/movies/


代码应该返回:

对于 'http://site.com/movies/moviename/',应该返回True

对于 'http://site.com/person/brad-pitt/movies/',应该返回False


谢谢。

4个回答

16
你可以尝试使用 String 对象的 indexOf 方法:
var url = window.location.href;
var host = window.location.host;
if(url.indexOf('http://' + host + '/movies') != -1) {
   //match
}

2

在jQuery中没有你需要用到的东西,这是纯JavaScript。

if (/\/\/[^\/]+\/movies\//.test(window.location.href)) {
  // inside the movies folder
}

2

基本字符串操作...

function isValidPath(str, path) {
  str = str.substring(str.indexOf('://') + 3);
  str = str.substring(str.indexOf('/') + 1);
  return (str.indexOf(path) == 0);
}

var url = 'http://site.com/movies/moviename/'; // Use location.href for current
alert(isValidPath(url, 'movies'));

url = 'http://site.com/person/brad-pitt/movies/';
alert(isValidPath(url, 'movies'));

请解释一下什么是 'str' 和 'path'。 - James
实际上我正在寻找一些“真:假”的解决方案。 - James
@Happy 这是一个真/假解决方案。你在说什么?该函数根据传入的URL是否具有“.com/”后给定的路径来返回true或false。 - Josh Stodola
在这个解决方案中,str是URL,path是您要搜索的内容(电影)。如果电影直接在站点根目录后面,则返回true,否则返回false。它可以工作,但比其他给出的解决方案稍微复杂一些。 - Rohrbs
@JungleFreak 有点复杂,但它是最灵活的。而且,它能有多复杂呢...我们只是在谈论两个子字符串。 - Josh Stodola
显示剩余2条评论

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接