Javascript 根据url内容为变量指定特定值
我有一个核心域的站点,其内容如下:Javascript 根据url内容为变量指定特定值,javascript,Javascript,我有一个核心域的站点,其内容如下: www.example.com/de-e www.example.com/us-e www.example.com/de-e/contact-us 如果我启动站点导航并转到不同的页面,我的URL如下所示: www.example.com/de-e www.example.com/us-e www.example.com/de-e/contact-us 我想存储一个名为vde的变量,如果url的值为de-e,则为de,如果url的值为us-e,则为us。
www.example.com/de-e
www.example.com/us-e
www.example.com/de-e/contact-us
如果我启动站点导航并转到不同的页面,我的URL如下所示:
www.example.com/de-e
www.example.com/us-e
www.example.com/de-e/contact-us
我想存储一个名为vde的变量,如果url的值为de-e,则为de,如果url的值为us-e,则为us。通过JQuery,我可以将contains()与简单的JS一起使用。我如何才能做到这一点?使用
var url = window.location.href ;
if(url.indexOf("us-e") > -1)
{
vde =us
}
else
{ vde=de
}
索引of可以用来代替contains,如果它大于0,它就有字符串。这个条件适用于
www.example.com/de-e/foo/bar/us-e
或www.example.com/foo/bar/us-e/acme
,不仅适用于www.example.com/us-e/anythis
。非常感谢您的审阅/建议,您的答案是正确的,我主要关心的是给他提供javascript中包含的替代方案:)路径的第一部分是否始终是一种语言?您现在或将来会支持两种以上的语言吗?因为您已经检查了路径名是否以/de-e
(或/us/e
)字符串开头。…>-1将检查路径名
中任何位置是否存在字符串,而不仅仅是在开始时。
var vde;
if (window.location.pathname.indexOf("/de-e") == 0) {
vde = "de";
} else if (window.location.pathname.indexOf("/us-e") == 0) {
vde = "us";
} else {
// set default value or handle error, e.g.
alert("Neither US nor DE.");
}