Мои закладки в Локальном Хранилище Или Ещё один способ использования html5
Ожидает приглашения
Некоторое время назад мне в голову от скуки пришла идея. Почему бы не сделать некоторое подобие Моего избранного Из [В]контакте. Так сказать Мои закладки для сайта. Небольшой кодик. Который будет сохранять title и url страницы в локальное хранилище браузера. Почему не cookie? Ну наверное потому что мало места и грузит сервер. Те кто их использовал поймут что не так они и хороши. Другое дело Локальное Хранилище браузера. Которое хранит большущее количество данных. Ну вам это наврятли интересно настолько насколько было бы интересно посмотреть на сам код.
Ну и чуть чуть о устройстве кода!
Создание: Сама идея такова что мы в начале создаём строку с нужными нам данными при этом проверяя есть ли информация в локальном хранилище по нужному адресу или нет. Есть? Берём оттуда всю информацию и добавляем к ней то что мы хотим видеть в будущем. Нет? Ну тут уж просто создаём нужный нам элемент — объект.
Вывод: Тут уже чуть больше рутины. Мы создаём массив с полученной информацией. И с данными из него создаём по очереди нужное нам количество html тегов. И в конце добавляем возможность удалить всё.
Удаление: Ну тут просто. Берём все данные. Делаем массив. И удаляем то что не нужно.
Скрипт не назвать универсальным. Но может именно вы найдёте ему новое применение?
Всем спасибо за внимание. Надеюсь красть пост вы не намерены!
/*Сохранение 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 тегов. И в конце добавляем возможность удалить всё.
Удаление: Ну тут просто. Берём все данные. Делаем массив. И удаляем то что не нужно.
Скрипт не назвать универсальным. Но может именно вы найдёте ему новое применение?
Всем спасибо за внимание. Надеюсь красть пост вы не намерены!