Можно ли после обновления страницы повесить событие, или обновление=все стирается?

<button id='showel'>Отобразить элемент</button>
<div class="hello">Hello</div>    
<button id='pageload'>Перезагрузить страницу</button>

.hello{
  display: none;
 }

$('#showel').click(function(){
    $('.hello').css('display', 'block');
});

$('#pageload').click(function(){
  location.reload();
  setTimeout(function(){$('#showel')[0].click();}, 5000);   
});

Есть ли способ сделать так, чтобы событие $('#showel')[0].click(); вызывалось уже после обновления? https://jsfiddle.net/Nata_Hamster/vpeqmd85/


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

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

Сделал с помощью localStorage. Работает так, как вам и нужно. Если вам нужна мгновенная загрузка текста, то раскомментируйте вот это "$('#showel').click();", а "setTimeout(function(){$('#showel')[0].click();}, 5000);" наоборот, закомментируйте.

$(document).ready(function() {

    $('#showel').click(function(){
      $('.hello').css('display', 'block');
    });

    $('#pageload').click(function(){
      var click_reload = 1;
      localStorage.setItem("click_reload_pos", click_reload);
      location.reload();
    });
    
    click_reload = localStorage.getItem("click_reload_pos");
    
    if (click_reload == 1) {
    
      setTimeout(function(){$('#showel')[0].click();}, 5000);
      
      /*$('#showel').click();*/// Если нужна мгновенная загрузка элемента, без 5-ти секунд

      localStorage.removeItem("click_reload_pos");
      localStorage.clear();

    } else {}

});
.hello {
  display: none;
 }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id='showel'>Отобразить элемент</button>
<div class="hello">Hello</div>    
<button id='pageload'>Перезагрузить страницу</button>

→ Ссылка