Автоматическое восстановление текста для форума
Описание
Скрипт запоминает значение поля ввода на форуме каждые 10 секунд и при перезагрузке страницы или перехода на другую страницу восстанавливает текст.
Установка
Чтобы установить вставьте следующий код в шаблон Форма добавления сообщения Форума в самый конец:
Code
<script type="text/javascript">
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
};
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
};
function eraseCookie(name) {
setCookie(name, "", -1);
};
$('input[name="sbm"]').click(function(){eraseCookie('message')});
if(getCookie('message'))
{
$('textarea[name="message"]').val(getCookie('message').replace(/\\n/g,'\n'));
_uWnd.alert('<br>Текст сообщения восстановлен','Авто-восстановление',{w:200,h:80});
};
var rememberint = setInterval(function()
{if($('textarea[name="message"]').val().length>0 && getCookie('message')){
if(getCookie('message').replace(/ /g,'')!=$('textarea[name="message"]').val().replace(/ /g,'').replace(/\n/g,'\\n'))
{
setCookie('message',$('textarea[name="message"]').val().replace(/\n/g,'\\n'),365);
_uWnd.alert('<br>Текст сообщения сохранен','Авто-сохранение',{w:200,h:80});
}
}
else
{
if($('textarea[name="message"]').val().length>0)
{
setCookie('message',$('textarea[name="message"]').val().replace(/\n/g,'\\n'),365);
_uWnd.alert('<br>Текст сообщения сохранен','Авто-сохранение',{w:200,h:80});
}
else
{eraseCookie('message')}
}
}, 10000);
</script>
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
};
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
};
function eraseCookie(name) {
setCookie(name, "", -1);
};
$('input[name="sbm"]').click(function(){eraseCookie('message')});
if(getCookie('message'))
{
$('textarea[name="message"]').val(getCookie('message').replace(/\\n/g,'\n'));
_uWnd.alert('<br>Текст сообщения восстановлен','Авто-восстановление',{w:200,h:80});
};
var rememberint = setInterval(function()
{if($('textarea[name="message"]').val().length>0 && getCookie('message')){
if(getCookie('message').replace(/ /g,'')!=$('textarea[name="message"]').val().replace(/ /g,'').replace(/\n/g,'\\n'))
{
setCookie('message',$('textarea[name="message"]').val().replace(/\n/g,'\\n'),365);
_uWnd.alert('<br>Текст сообщения сохранен','Авто-сохранение',{w:200,h:80});
}
}
else
{
if($('textarea[name="message"]').val().length>0)
{
setCookie('message',$('textarea[name="message"]').val().replace(/\n/g,'\\n'),365);
_uWnd.alert('<br>Текст сообщения сохранен','Авто-сохранение',{w:200,h:80});
}
else
{eraseCookie('message')}
}
}, 10000);
</script>
-
FalleN -
938 -
1 -
0
Но только нужно ставить наверное на те модули которые обновляться должны не раньше через пару тройку минут
С Уважением, Андрей...