Переключение на относительное местоположение - PullRequest
0 голосов
/ 08 июня 2018

Привет, интересно, если кто-нибудь может указать мне правильное направление.

Мне нужен какой-то код, который я могу поставить на ссылку, которая пойдет на URL текущей страницы, но в отдельной папке, или добавить идентификатор языка в URL.

Так, например,, если кто-то находится на FAQ.aspx, он нажимает на итальянскую ссылку в меню, и он отправляет его на него - FAQ.aspx или /it/FAQ.aspx и то же самое для других страниц.

Делает ли этоимеет смысл?и возможно ли это, и может ли кто-нибудь указать мне, куда смотреть

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Используя атрибут data, вы можете сохранить «деталь для добавления к URL» в ссылке.Вы можете прочитать его, используя метод .data().

Тогда ... Если вы разделите фактический URL-адрес на /, вы можете собрать его и вставить деталь для добавления.

Этот скрипт будет работать на любой странице.

$(".menu .lang").on("click",function(){
  
  // Get the actual page URL
  var thisPage = location.href;
  console.log(thisPage);
  
  // Split the URL by the "/"
  var splitted = thisPage.split("/");
  var splittedLength = splitted.length;
  
  // Get the data-lang value
  var insert = $(this).data("lang");
  
  // Re-assemble the URL except the last part
  var destination="";
  for (i=0;i<splittedLength-1;i++){
    destination += splitted[i]+"/";
  }
  
  // Add the part to "insert" and last part of the URL
  destination += insert+"/"+splitted[splittedLength-1];
  
  // OR
  // destination += insert+"-"+splitted[splittedLength-1];  // See explanation below the snippet.
   
  // Go to that page!
  console.log(destination);
  //location.assign(destination);  // Commented for this demo...
  
});
.menu a{
  display:block;
  text-decoration:underline;
  cursor:pointer;
  color:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h1>FAQ</h1>
<div class="menu">
  <a class="lang" data-lang="it">Italiano</a>
  <a class="lang" data-lang="en">english</a>
  <a class="lang" data-lang-"fr">Français</a>
</div>

Здесь параметр языка добавляется между /, как это каталог ... Но вы можете легко добавить его на страницуназвание нравится-FAQ.aspx.

0 голосов
/ 08 июня 2018

Попробуйте что-то вроде этого:

Получите первый путь к текущему URL, затем поместите код языка вперед и измените href ссылки с помощью jquery:

<html>
 <a class="switch_language" data-country-code="it" href="">Italian</a>
 <a class="switch_language" data-country-code="de" href="">German</a>

и ...

<script>
$('.switch_language').each(function() {
 $(this).attr('href', $(this).attr('data-country-code') + '/' + location.pathname);
});

Ваши ссылки на языковые ссылки будут выглядеть следующим образом

/it/faq.aspx
/de/faq.aspx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...