123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // Захостить на гитхабе приложение, которое:
- // читает куки на клиенте, и если там есть дата последнего посещения, выводит ее на страницу
- // пишет в куки на клиенте текущую дату посещения
- let p = document.body.appendChild(document.createElement('p'));
- var res = document.cookie
- .split ( "; " )
- .map ( x => {
- var tmp = x.split ( "=" );
- tmp[0] === 'Your last visit' ? p.innerText = tmp[0] + ' : '+ tmp[1].split( 'GMT' )[0]: p.innerText ='Hello! Your first visit!';
- })
- document.cookie =`Your last visit = ${new Date()}`
- // localStorage
- // Объявить функцию, которая будет вызываться в момент изменения хэш-части адреса страницы
- // и сохранять в localStorage клиента hash-часть адреса страницы как pageId
- // и время входа ( в секундах ) как startTime
- // Назначить эту функцию обработчиком события hashchange объекта window
- // Желательно, чтобы при изменении хеш-части адреса происходило обновление контента страницы без перезагрузки
- // ( например, изменялся заголовок и картинка, чтобы создать иллюзию перехода на новую страницу )
- // Отслеживать в панели разработчика изменения в localStorage
- let text =document.body.appendChild(document.createElement('p'));
- document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random)`;
- document.body.style.backgroundSize= 'cover';
- document.body.style.fontSize = '40px';
- const historyArr = [];
- change = function() {
- historyArr.push( { 'pageId': location.hash, 'startTime': Math.round(new Date().getTime()/1000)});
- localStorage.setItem ( 'history', JSON.stringify(historyArr));
- document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random/${Math.round((Math.random())*1000)})`;
-
- text.innerHTML = 'This is page number :' + location.hash.substring(1);
- };
- window.addEventListener('hashchange', change());
|