我想检查当前地址是否为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")
}