2015-08-04 2 views
0

У меня есть сайт с основным доменом с чем-то вроде этого:Дайте конкретное значение переменной на основе URL содержания

www.example.com/de-e 
www.example.com/us-e 

Если я начать навигацию к сайту и перейти на другие страницы У меня есть URL, как это:

www.example.com/de-e/contact-us 

Я хочу сохранить дать переменной с именем значения VDE де, если URL имеют значение де-е и нам, если URL имеют значение мы-e.With JQuery я мог бы возможно использовать содержит() с простым JS, как я могу это сделать?

+0

Будет ли первая часть пути всегда быть языком? Будете ли вы обслуживать более двух языков сейчас или в будущем? –

ответ

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."); 
} 
+0

Он работает. Но почему вы установили его равным 0? – Ster32

+0

Поскольку у вас есть проверка, если 'pathname' ** запускается ** с помощью строки'/de-e' (или '/ us/e'). «...> -1» проверяет наличие строки ** в любом месте ** в «pathname», а не только в начале. –

1

использование

 var url = window.location.href ; 
     if(url.indexOf("us-e") > -1) 
     { 
       vde =us 
     } 
     else 
      {  vde=de 
      } 

индекс может быть использован вместо того, содержит, если его больше, чем 0 она имеет строку.

+0

Это условие справедливо для 'www.example.com/de-e/foo/bar/us-e' или' www.example.com/foo/bar/us-e/acme', а не только для 'www. example.com/нас-э/ничего/else'. –

+0

Большое спасибо за отзыв/предложение, ваш ответ правильный, Моя главная забота заключалась в том, чтобы дать ему альтернативу Содержит в javascript :) – Friendy

Смежные вопросы