检查浏览器和语言

时间:2018-05-24 08:40:17

标签: javascript

我有一个代码(如下所列),用于检查您的浏览器语言是否设置为“de”。如果您的浏览器是“de”,它会将您发送到地址“de.html”。如果它不是“de”,您将被发送到“en.html”。这很好,但问题出在这里:

这适用于Webflow网站,他们有一个编辑器女巫是url /?edit。代码仍然会在转到该地址时检查您的语言。它只打印出url /?editenenenenenenenene ..等等。有没有办法检查用户是否在url /?编辑,如果是,不执行任何操作?

   var lang = window.navigator.language;
   var userLang = window.navigator.userLanguage;
    if (lang == "de" || userLang == "de") {
      window.location.href = window.location.href + "de.html";  
    }
    else {
      window.location.href = window.location.href + "en.html";
    }

2 个答案:

答案 0 :(得分:0)

如果网址为www.somedomain.com/editor?edit,那么您可以使用以下网址获取?edit部分:

window.location.search // '?edit'

使用:

if(window.location.search === '?edit') return;

或更松散地:

if(window.location.search.includes('?edit')) return;

答案 1 :(得分:0)

在您当前的if周围传送另一个if (!window.location.href.includes('/?edit')) { ... } 语句,如下所示:

url/?edit

这将检查用户是否在var lang = window.navigator.language; var userLang = window.navigator.userLanguage; if (!window.location.href.includes('/?edit')) { if (lang == "de" || userLang == "de") { window.location.href = window.location.href + "de.html"; } else { window.location.href = window.location.href + "en.html"; } } ,如果是,则不执行任何操作。

整体而言:

this.incomeRecordList