Forums / National / Russian / Тех. поддержка / Bootstrap localstorage nav-tab Сохранение вкладки при перезагрузки страницы

vpktz
#46656 2023-05-23 18:59

       

  <ul class="nav nav-tabs">
             <li class="nav-item">
                 <a class="nav-link active" id="home-tab" data-toggle="tab" href="#tab-1">home</a>
             </li>
             <li class="nav-item">
                 <a class="nav-link" id="folio-tab" data-toggle="tab" href="#tab-2">folio</a>
             </li>
             <li class="nav-item">
                 <a class="nav-link" id="product-tab" data-toggle="tab" href="#tab-3">product</a>
             </li>
          <li class="nav-item">
                 <a class="nav-link" id="clients-tab" data-toggle="tab" href="#tab-4">cliets</a>
             </li>
          <li class="nav-item">
                 <a class="nav-link" id="reviews-tab" data-toggle="tab" href="#tab-5">reviews</a>
             </li>
         </ul>

         <div class="tab-content">
             <div class="tab-pane fade show active" id="tab-1">
                 <h3>Вкладка #1</h3>
             </div>
             <div class="tab-pane fade" id="tab-2">
                 <h3>Вкладка #2</h3>
             </div>
             <div class="tab-pane fade" id="tab-3">
                   <h3>Вкладка #3</h3>
             </div>
          <div class="tab-pane fade" id="tab-4">
                   <h3>Вкладка #4</h3>
             </div>
          <div class="tab-pane fade" id="tab-5">
                   <h3>Вкладка #5</h3>
             </div>
         </div>

         <script>
            $(function($){
              var storage = document.cookie.match(/nav-tabs=(.+?);/);
              if (storage && storage[1] !== "#") {
                  $('.nav-tabs a[href="' + storage[1] + '"]').tab('show');
              }
              $('ul.nav li').on('click', function() {
                  var id = $(this).find('a').attr('href');
                  document.cookie = 'nav-tabs=' + id;
              });
          });
         </script>

 Есть такой код + скрипт который позволяет оставаться на выбранной вкладке даже после перезагрузке странице. И он работает, за исключением того что при выборе любой из вкладки выкидывает на главную сайта + ссылка вкладки. Например https://site.ru/#tab-2.   А так как этот nav-tab находиться на странице Пользователя модуля Users по адресу  

https://site.ru/users/Администратор  то получается нужно на этой странице и оставаться и будет все норм.  Так как если вернуться опять с главной (на которую выкинуло) на страницу пользователя то мы увидим что сохранение вкладки состоялось и все хорошо. Осталось теперь добиться что бы не выкидывало на главную. Понимаю что надо как то в скрипт добавить ссылку на пользователя {USERS_DETAILS_DETAILSLINK} что бы при нажатии на вкладку получалось что то типа https://site.ru/users/Администратор/#tab-2 в место   https://site.ru/#tab-2