index.js 1.6 KB

12345678910111213141516171819202122232425262728
  1. // localStorage
  2. // Объявить функцию, которая будет вызываться в момент изменения хэш-части адреса страницы
  3. // и сохранять в localStorage клиента hash-часть адреса страницы как pageId
  4. // и время входа ( в секундах ) как startTime
  5. // Назначить эту функцию обработчиком события hashchange объекта window
  6. // Желательно, чтобы при изменении хеш-части адреса происходило обновление контента страницы без перезагрузки
  7. // ( например, изменялся заголовок и картинка, чтобы создать иллюзию перехода на новую страницу )
  8. // Отслеживать в панели разработчика изменения в localStorage
  9. let text =document.body.appendChild(document.createElement('p'));
  10. document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random)`;
  11. document.body.style.backgroundSize= 'cover';
  12. document.body.style.fontSize = '40px';
  13. const historyArr = [];
  14. change = function() {
  15. historyArr.push( { 'pageId': location.hash, 'startTime': Math.round(new Date().getTime()/1000)});
  16. localStorage.setItem ( 'history', JSON.stringify(historyArr));
  17. document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random/${Math.round((Math.random())*1000)})`;
  18. text.innerHTML = 'This is page number :' + location.hash.substring(1);
  19. };
  20. window.addEventListener('hashchange', change);