Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Показать скрыть использование Cookie
ТвойWeb » » Моды, хаки, скины и дополнения » Показать скрыть использование Cookie

Страниц (3): [1] 2 3 »
 

1. Гусь - 06 Мая, 2006 - 14:29:01 - перейти к сообщению
Может кто то растолкует как это прописать в cookie, чтоб запоминал какой свёрнут а какой развернут.
Я вот об этом
CODE:

function Whos(id,idi) {
if (document.getElementById(id).style.display == "none"||document.all[id].visibility == "hidden"){
Show(id,idi)
}
else{Hide(id,idi)}
}
function Show(id,idi) {
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "block";
}
if (document.all){
itm = document.all[id];
itm.visibility = "show";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/hide_f.gif";
}
function Hide(id,idi) {
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "none";
}
if (document.all){
itm = document.all[id];
itm.visibility = "hidden";
}
document[idi].src = "./templates/subsilver/im/show_f.gif";
}
2. Леголегс - 06 Мая, 2006 - 15:29:32 - перейти к сообщению
Гусь
Ну сначала находишь готовые функции setcookie и getcookie (их полно даже на этом форуме не говоря про гугль) затем вставляешь их вызовы в хайд и шов (соответственно запоминая в куке 1 или 0)
При открытии страницы делаешь getcookie и в зависимости от результата делаешь аналогично Whos
3. Гусь - 07 Мая, 2006 - 12:53:29 - перейти к сообщению
Леголегс я в этих ява делах полный профан. Будь другом растолкуй поконкретней что и куда пристраевать.
4. Леголегс - 07 Мая, 2006 - 16:04:23 - перейти к сообщению
Ладно... (что-то я сегодня подозрительно сговорчивый...)
Надо добавить
CODE:
function setCookie(name, value, lifedays) {
var expdate = new Date();
expdate.setTime(expdate.getTime() + (86400000 * lifedays));
var curCookie=name+"="+escape(value)+((lifedays)?"":";expires="+expdate.toGMTString());
document.cookie=curCookie;
}
function getCookie(name,def) {
var prefix = name + "=";
var cookieStartIndex = document.cookie.indexOf(prefix);
if (cookieStartIndex == -1)
return def;
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length;
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

После function Show(id,idi) { добавляешь
CODE:
setCookie(id+"_"+idi+"show","1",30);

После function Hide(id,idi) { добавляешь
CODE:
setCookie(id+"_"+idi+"show","0",30);

На твой вопрос я ответил, комп будет запоминатьчто свёрнуто, а то нет. Чтобы он ещё и вспоминал это надо ещё одну байду, но её я завтра напишу Улыбка Ты только отпиши сюда, а то если я тему в "новых сообщениях" не увижу, то забуду стопудов.
5. Гусь - 08 Мая, 2006 - 06:07:22 - перейти к сообщению
Леголегс
Спасибо дружище.
Отписал.Улыбка
6. Леголегс - 08 Мая, 2006 - 10:15:19 - перейти к сообщению
Гусь
Значит так. function getCookie() {...} удаляешь. Вместо неё нужен такой
CODE:
function getAllCookies() {
var allcookies = new Array();
var cookregexp = /(?:; ?|^)([^=]+)(?:=([^;]*))?/g;
var st = document.cookie;
var cookie = cookregexp.exec(st);
while (cookie)
{
allcookies.push([cookie[1],cookie[2]]);
cookie = cookregexp.exec(st);
}
return allcookies;
}
function Restore()
{
var cookarr = getAllCookies();
for (var c in cookarr)
{
var match;
if (match=/(.+)_(.+)show/.exec(c[0]))
{
if (c[1]=="1")
Show(match[1],match[2]);
else
Hide(match[1],match[2]);
}
}
}
Вызов Restore() можно вставить в body onload=
7. Гусь - 08 Мая, 2006 - 11:34:56 - перейти к сообщению
Не робит

код теперь выглядит так, может что-то не так.
CODE:
//Cookie
function setCookie(name, value, lifedays) {
var expdate = new Date();
expdate.setTime(expdate.getTime() + (86400000 * lifedays));
var curCookie=name+"="+escape(value)+((lifedays)?"":";expires="+expdate.toGMTString());
document.cookie=curCookie;
}
function getAllCookies() {
var allcookies = new Array();
var cookregexp = /(?:; ?|^)([^=]+)(?:=([^;]*))?/g;
var st = document.cookie;
var cookie = cookregexp.exec(st);
while (cookie)
{
allcookies.push([cookie[1],cookie[2]]);
cookie = cookregexp.exec(st);
}
return allcookies;
}
function Restore()
{
var cookarr = getAllCookies();
for (var c in cookarr)
{
var match;
if (match=/(.+)_(.+)show/.exec(c[0]))
{
if (c[1]=="1")
Show(match[1],match[2]);
else
Hide(match[1],match[2]);
}
}
}
//End cookie

function Whos(id,idi) {
if (document.getElementById(id).style.display == "none"||document.all[id].visibility == "hidden"){
Show(id,idi)
}
else{Hide(id,idi)}
}
function Show(id,idi) {
//Cookie
setCookie(id+"_"+idi+"show","1",30);
// End Cookie
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "block";
}
if (document.all){
itm = document.all[id];
itm.visibility = "show";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/hide_f.gif";
}
function Hide(id,idi) {
//Cookie
setCookie(id+"_"+idi+"show","0",30);
// end cookie
if (document.getElementById) {
itm = document.getElementById(id);
itm.style.display = "none";
}
if (document.all){
itm = document.all[id];
itm.visibility = "hidden";
}
document[idi].src = "./templates/ForumTblock.org.ru/im/show_f.gif";
}
8. Леголегс - 08 Мая, 2006 - 11:41:46 - перейти к сообщению
Гусь
Что значит "не робит"? Ошибки выдаёт или молчит? если ошибки, то давай текст сюда, если молчит то
а) body onload="Restore()" не забыл?
б) ссылку в студию
9. Гусь - 08 Мая, 2006 - 12:24:09 - перейти к сообщению
Ссылки нет потому как форум стоит в локалке.

Ошибок не выдаёт.

body onload="Restore()" прописал.

Шаблон можеш скачать тут
http://rapidshare.de/files/19949....org.ru.rar.html 247килобайт
10. Леголегс - 08 Мая, 2006 - 15:10:39 - перейти к сообщению
Гусь
Не надо мне пожалуйста всякого не пойми чего в четверть метра. Прикрепи просто html код страницы к сообщению.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0385]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33