Jquery - Как перенаправить на предыдущую страницу и добавить атрибут href в URL после нажатия на ссылку?

0

У меня проблема с моим кодом. Я пытаюсь перенаправить на предыдущую страницу и добавить атрибут href из этой ссылки и добавить в url. По какой-то причине мой код не работает. Если я попытаюсь поставить предупреждение вместо window.location, то предупреждение ничего не отображает. Что не так с моим кодом? Большое спасибо.

JQuery:

$('#languages li a').click(function(){
      window.location = document.referrer+$(this).attr('href');
      return false;
});

HTML

<div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
        <li><a href="?lang=en">English</a></li>
        <li><a href="?lang=cs">Česky</a></li>
        <li><a href="?lang=de">Deutsch</a></li>
        <li><a href="?lang=ae">English US</a></li>
        <li><a href="?lang=es">Español</a></li>
        <li><a href="?lang=fr">Français</a></li>
        <li><a href="?lang=nl">Nederlands</a></li>
        <li><a href="?lang=tr">Türkçe</a></li>
        <li><a href="?lang=cn">中文</a></li>
    </ul>
</div>
  • 0
    Любые ошибки консоли?
  • 0
    Это странно, но в скрипте этот вид кода работает отлично, и я не вижу никаких ошибок в нем, если он просто ничего не делает, это может быть jQuery не включен или ваш js-файл включен до него, но тогда будут ошибки в консоли. Кстати скрипка jsfiddle.net/V9Mtc
Показать ещё 3 комментария
Теги:
jquery-mobile

1 ответ

0

Посмотрите решение здесь: http://jsfiddle.net/dzBHA/3/

Код HTML:

<div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
        <li><a href="?lang=en" >English</a></li>
        <li><a href="?lang=cs" >Česky</a></li>
        <li><a href="?lang=de" >Deutsch</a></li>
        <li><a href="?lang=ae" >English US</a></li>
        <li><a href="?lang=es" >Español</a></li>
        <li><a href="?lang=fr" >Français</a></li>
        <li><a href="?lang=nl" >Nederlands</a></li>
        <li><a href="?lang=tr" >Türkçe</a></li>
        <li><a href="?lang=cn" >中文</a></li>
    </ul>
</div>

И JS (вам нужно добавить атрибут местоположения):

$('#languages li a').on('click', function(){
  //window.location = document.referrer
  alert($(this).attr('href'));
  alert(document.referrer);
  var link =   document.referrer + '' + $(this).attr('href');
  alert(link);
  return false;
});

Полная страница кодов:

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <title>Titre</title>
    </head>

    <body>
        <a href="http://yoururl/js.html">Test Referer</a>
        <div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
            <li><a href="?lang=en" >English</a></li>
            <li><a href="?lang=cs" >Cesky</a></li>
            <li><a href="?lang=de" >Deutsch</a></li>
            <li><a href="?lang=ae" >English US</a></li>
            <li><a href="?lang=es" >Español</a></li>
            <li><a href="?lang=fr" >Français</a></li>
            <li><a href="?lang=nl" >Nederlands</a></li>
            <li><a href="?lang=tr" >Türkçe</a></li>
            <li><a href="?lang=cn" >??</a></li>
        </ul>
</div>
<script>
$('#languages li a').on('click', function(){
  //window.location = document.referrer
  alert($(this).attr('href'));
  alert(document.referrer);
  var link =   document.referrer + '' + $(this).attr('href');
  alert(link);
  return false;
});
</script>

    </body>
</html>

Отредактируйте URL-адрес и нажмите "Test Referer". См. Результат...

  • 0
    Не работает для меня, предупреждение не отображается. Я использую JQuery 1.8.3
  • 0
    Спасибо за ваше время и усилия, это не работает, потому что я слепой, проверьте мой комментарий ниже моего поста, чтобы увидеть, что случилось.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню