查看当前页面是否等于相对链接 - JavaScript

时间:2011-08-07 04:08:16

标签: javascript jquery

我知道过去曾问过这个问题的不同版本,虽然没有问过这个问题(其他答案都不符合我的目的);

所以,这里是:我在JavaScript中有一个相对链接(存储为字符串),我试图看看该字符串是否等于我所在页面的当前URL

例如如果JS链接为"/test"且url为http://example.com/test,则该函数应返回true,而如果字符串为"/test"且当前网址为http://example.com/derp,该函数应返回false)。

最后:

  • 应忽略网址中的哈希标记
  • 获取变量也应该被忽略

我正在寻找一个JavaScript(或jQuery)中的函数来执行此操作 - 或者某些事情让我更接近这样做(我必须假设有一个,因为这个语言(+这个框架)有这么多处理URL的方法);如果没有一个,有人可以指向一个jQuery插件来执行此操作向我展示一段自定义编写的代码来执行此操作(我可以' t 是第一个要求这个!)

2 个答案:

答案 0 :(得分:1)

这适用于我在一些网站上的测试:

var fragment = '/test'; // assuming there's a slash at the front as you mention

var url = window.location.href.split('/');
var last_item = '/' + url[url.length-1];
last_item = last_item.replace(/(\?|\#).*/, '');

last_item == fragment ? alert('match') : alert('not a match');

<强>更新 更新以删除以“?”开头的查询字符串或哈希(#)

好的捕获,更新如下:

var fragment = '/testtabs/test/url_test.html';
var url = window.location.pathname;

url == fragment ? alert('match') : alert('not a match');

Tested here

答案 1 :(得分:1)

试试这个。

function CheckSlugValidity(slug){
    return slug.indexOf(window.location.pathname) == 0;
}

称之为

CheckSlugValidity("/test");