Search
Write a publication
Pull to refresh

Мои закладки в Локальном Хранилище Или Ещё один способ использования html5

Некоторое время назад мне в голову от скуки пришла идея. Почему бы не сделать некоторое подобие Моего избранного Из [В]контакте. Так сказать Мои закладки для сайта. Небольшой кодик. Который будет сохранять title и url страницы в локальное хранилище браузера. Почему не cookie? Ну наверное потому что мало места и грузит сервер. Те кто их использовал поймут что не так они и хороши. Другое дело Локальное Хранилище браузера. Которое хранит большущее количество данных. Ну вам это наврятли интересно настолько насколько было бы интересно посмотреть на сам код.
 /*Сохранение url title страницы*/
	
function save(){
	
localdata=localStorage.getItem('LF');
	
if(!localdata){
	
MyUrl=location.href;
	
MyTitle=document.title;
	
var newlocaldata='';
	
newlocaldata+=MyUrl;
	
newlocaldata+='^';
	
newlocaldata+=MyTitle;
	
localStorage.setItem('LF',newlocaldata)}
	
else{
	
MyUrl=location.href;
	
MyTitle=document.title;
	
newlocaldata=localdata;
    
newlocaldata+='^';
   
 newlocaldata+=MyUrl;
	
newlocaldata+='^';
	
newlocaldata+=MyTitle;
	
localStorage.setItem('LF',newlocaldata)};

    }

/*--------*/

/*Вывод*/

function remlocaldata(){

	localdata=localStorage.getItem('LF');
	
data=localdata.split('^');
	
num=data.length;n=0;
	
while(n<num-1){
	
url=data[n];
	
n++;
	
title=data[n];
	
html='<div id="aclick'+n+'" class='localdataelement'><a href="'+url+'">'+title+'</a> <div onclick="datadelt('+n+')"><br />Удалить '+title+'<br /> <br /></div>
</div>';
	
document.write(html);//Если это сработает после того как страница сгенерируеться будет плохо. Советую заменить на innerHTML
	
n++;}document.write('<div onclick="localStorage.clear();">Удаллить всё.</div>');//Вообще замените все document.wraite на своём сайте на innerHTML!
	
}

/*--------*/

/*Удаление*/
	
function datadelt(d){
	
localdata=localStorage.getItem('LF');
	
data=localdata.split('^');
	
data.splice( d-1,2);
	
newlocaldata=data.join('^');
	
localStorage.setItem('LF',newlocaldata);
	
a='aclick'+d+'';document.getElementById(a).parentNode.removeChild(document.getElementById(a));
	
}

/*-----------*/


save();
remlocaldata();
Код более чем рабочий. Но не обладает встроенными стилями дабы вы сами могли сделать всё что вам вздумается.
Ну и чуть чуть о устройстве кода!
Создание: Сама идея такова что мы в начале создаём строку с нужными нам данными при этом проверяя есть ли информация в локальном хранилище по нужному адресу или нет. Есть? Берём оттуда всю информацию и добавляем к ней то что мы хотим видеть в будущем. Нет? Ну тут уж просто создаём нужный нам элемент — объект.
Вывод: Тут уже чуть больше рутины. Мы создаём массив с полученной информацией. И с данными из него создаём по очереди нужное нам количество html тегов. И в конце добавляем возможность удалить всё.
Удаление: Ну тут просто. Берём все данные. Делаем массив. И удаляем то что не нужно.
Скрипт не назвать универсальным. Но может именно вы найдёте ему новое применение?
Всем спасибо за внимание. Надеюсь красть пост вы не намерены!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.