localStorage работает через раз

Использую localStorage для передачи значения параметра. Все работает, но через раз, иногда вообще может прекратить работать. В чем может быть проблема?

 $(document).ready(function () {
 $('.search_me_tag').on('click', function () {  

        var tag = $(this).attr('rel');

        localStorage.setItem("tag_name", tag);
        
      });

         $(window).on('load',function () {

          $('.search_me_tag').on('click', function () {  

            var tag = $(this).attr('rel');
    
            localStorage.setItem("tag_name", tag);
            
          });

          tag = localStorage.getItem("tag_name");
      
          $('.middle_content_blog_content_blocks_search_edit').val(tag);

          $('.middle_content_blog_content_blocks_search_edit').trigger('change');
          $('.middle_content_blog_content_blocks_search_edit').trigger('input');

          // localStorage.removeItem("tag_name");
          localStorage.clear();
  
      });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="search_me_tag" href="/blog" rel="test_test">блог</a>


Ответы (1 шт):

Автор решения: sergey kuznetsov

Решил следующим образом. Все то, что внутри события window onload вынес в document ready.

$(document).ready(function () {

$('.search_me_tag').on('click', function () {  

          var tag = $(this).attr('rel');
  
          localStorage.setItem("tag_name", tag);
          
});
        
  
            tag = localStorage.getItem("tag_name");
        
            $('.middle_content_blog_content_blocks_search_edit').val(tag);
  
            $('.middle_content_blog_content_blocks_search_edit').trigger('change');
            $('.middle_content_blog_content_blocks_search_edit').trigger('input');
  
            localStorage.removeItem("tag_name");
            localStorage.clear();
            
});

→ Ссылка