JavaScript检查所需url是否在window.location.href中



我想检查当前地址是否为https://www.sneakersnstuff.com/de/cart/view.问题是,de是国家代码,如果您从另一个IP访问,它会更改。

在.json清单中,您可以使用https://www.sneakersnstuff.com/*/cart/view,但这在JS中不起作用。

我的代码

if (window.location.href  === 'https://www.sneakersnstuff.com/*/cart/view') {
alert("AAAA")
}

我应该如何更换*,以便在检查时所有国家/地区代码都能工作?感谢

一个解决方案是比较两个url的所有部分,除了国家代码:

let url1 = 'https://www.sneakersnstuff.com/ge/cart/view';
let url2 = 'https://www.sneakersnstuff.com/de/cart/view';
console.log(compareUrls(url1.split('/'), url2.split('/')));
url2 = 'https://www.sneakersnstuff1.com/de/cart/view';
console.log(compareUrls(url1.split('/'), url2.split('/')));
function compareUrls(a, b){
var i = a.length;
if (i != b.length) 
return false;
while (i--)
if (a[i] !== b[i] && i != 3) 
return false;
return true;
}

我不知道你的用例,但也许你可以用不同的方式进行检查,例如:

window.location.href.includes('/cart/view');

或者,如果你需要检查整个url,你可以将它们分开,然后从数组中排除url的本地化部分。

您可以这样使用es6:

if (window.location.href === `https://www.sneakersnstuff.com/${country_code}/cart/view`) {
alert("AAAA")
}

最新更新