Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2008, 22:25
Интересующийся
Отправить личное сообщение для Jumong Посмотреть профиль Найти все сообщения от Jumong
 
Регистрация: 18.07.2008
Сообщений: 21

Как сохранить кеш в JavaScript
Помогите, пожалуйста !
Я совсем не знаю JavaScript Но мне нужна ваша помощ

Как сделать так что бы после сворачивание блока кеш блока сохранился !

Точнее после обновление страницы блок был закрытом ! Сейчас если я закрываю блок и обновление страницы блок заново открывается !
9.zip

А вот это пример где все правильно работает !
_http://forum.bukhara.uz

Заранее огромное спасибо

(Я дизайнер в долгу не останусь )

Последний раз редактировалось Jumong, 18.07.2008 в 23:03.
Ответить с цитированием
  #2 (permalink)  
Старый 19.07.2008, 07:14
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Если я правильно понимаю, чтоб подобные данные сохранились после перезагрузки страницы можно использовать:
1. Куки
2. незаметную отправку AJAX-запросов на сервер (прокатит только у зарегистрированных пользователей)
3. Использовать специальные библиотеки (например http://browserpersistence.ru/), которые могут хранить данные на стороне клиента не в куках.

На приведенном Вами примере используются куки (если их удалить, то все свернутые блоки развернуться).

Какие еще кто знает методы?

Про куки тут можете почитать:
http://www.codenet.ru/webmast/js/Cookies.php

Последний раз редактировалось Snipe, 19.07.2008 в 07:23.
Ответить с цитированием
  #3 (permalink)  
Старый 19.07.2008, 08:43
Интересующийся
Отправить личное сообщение для Jumong Посмотреть профиль Найти все сообщения от Jumong
 
Регистрация: 18.07.2008
Сообщений: 21

Я почитал все что вы дали но че ту меня не получается :mad:
Помогите мне пожалуйста в долгу не останусь :rolleyes:
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2008, 16:31
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

На загрузку страницы нужно прикрутить getCookie, в вашем примере я сделал так (в FF3 прокатило):
<script language="JavaScript" type="text/javascript" src="menu.js"></script>
<table width="200" border="0">
<tr><td class="module-title"><b>Новости</b></td>
<td  id="cont" onclick="SwitchMenu('news');SwitchMenu('news1');SwitchMenu('news2');" style="cursor:pointer;"  nowrap="nowrap" valign="top">
<div id="news1" style="display:none;"><img src="http://javascript.ru/forum/images/plus.gif" align="right" valign="top"></div>
<div id="news2" style="display:block;"><img src="http://javascript.ru/forum/images/minus.gif" align="right" valign="top"></div>
</td></tr>
<tr><td colspan="2"><div id="news" style="display:block;">
1. Косметолога Оксаны Пушкиной осудили условно<br>
2. «Аэроэкспресс» выплатит компенсацию пассажирам, опоздавшим на самолеты<br>
3. Начала обещанного отдыха в Турции российские дети ждали три дня<br>
4. Медведев поздравил Нельсона Манделу с 90-летием<br>
5. Армия Приднестровья готова помочь Абхазии
</div></td></tr></table>
<script type="text/javascript">
getCookie('news');
</script>


Сам код:
function SwitchMenu(obj) {
	if (document.getElementById) {
		var el = document.getElementById(obj);
		var ar = document.getElementById("cont").getElementsByTagName("td");
		if (el.style.display == "none") {
			for (var i=0; i<ar.length; i++) {
				ar[i].style.display = "none";
			}
			el.style.display = "block";
			setCookie('news', 'false');
		} else {
			el.style.display = "none";
			setCookie('news', 'true');
		}
		
	}
}

var TIME = 3*24*60*60*1000; //3 дня
function setCookie (name, value) {
	var time = new Date();
	time.setTime(Date.parse(time) + TIME);
	document.cookie = name + '=' + value + '; expires=' + time;
}

function getCookie(name) {
	if (document.cookie.search(name + '=true') != -1) {
		SwitchMenu('news');
		SwitchMenu('news1');
		SwitchMenu('news2');
	}
}

Вроде работает.
Украшательствами заниматься не стал...

Последний раз редактировалось Snipe, 20.07.2008 в 16:35.
Ответить с цитированием
  #5 (permalink)  
Старый 20.07.2008, 20:29
Интересующийся
Отправить личное сообщение для Jumong Посмотреть профиль Найти все сообщения от Jumong
 
Регистрация: 18.07.2008
Сообщений: 21

Оооооо огромное тебе спасибо ! Все работает как надо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 19:11
как сделать гиперсылку на объект javascript??? kos_walker Общие вопросы Javascript 3 30.09.2008 06:58
как можно дебажить JavaScript кроме Firebug? subaru Общие вопросы Javascript 4 02.07.2008 11:16
SetVariable как средство связи JavaScript и Flash Воитель Общие вопросы Javascript 2 28.06.2008 00:43
JavaScript как файл закодировать base64? Трактор AJAX и COMET 3 10.06.2008 13:22