Autor | Zpráva | ||
---|---|---|---|
intimidant Profil * |
#1 · Zasláno: 25. 6. 2007, 12:45:43
Hoj, mám problém.
níže uvedený skript mi funguje pouze ve FF, IE hlásí, že GetElementByID má hodnotu null, nebo není objekt a Opera mlčí... nenapadá vás, kde by mohla být chyba? skript volám přes <a href='' id='odpocet' style='text-decoration:none; color:#fff;' title='Aktualizovat čas do automatického odhlášení.'> </a> a samotný skript je: function display() { remainingtime = logouttime/1000 - actualtime/1000; if (remainingtime > 60) { minutes= parseInt(remainingtime / 60); } else { minutes= 0; } seconds= parseInt(remainingtime - minutes*60); if (seconds < 10) { seconds= "0"+seconds; } document.getElementById("odpocet").firstChild.data=""+minutes+":"+sec onds; window.setTimeout("checktime()",1000); } function settimes() { var time = new Date(); logouttime = time.getTime(); logouttime += 60*60*1000; //time set to automatic logout checktime(); } function checktime() { var time = new Date(); actualtime = time.getTime(); if (actualtime >= logouttime) { expired(); } else { display(); } } function expired() { page_form.submit(); alert("Pro dlouhou nečinnost jste byl odhlášen. Přihlašte se, prosím, znovu do systému."); location.href="logout.php"; } |
||
peta Profil |
#2 · Zasláno: 25. 6. 2007, 13:00:38
intimidant
- odkaz na stranku? tady je jen 1/3 prikladu a navic, znas nekoho, kdo si to zkopiruje do souboru a vyzkousi? - pravdepodobne poustis script s head a protoze v HEAD jeste neexistuje odkaz v BODY A href, tak zcela logicky zahlasi, ze je objekt null |
||
intimidant Profil * |
#3 · Zasláno: 25. 6. 2007, 13:46:53
odkaz bohužel zatím nemám a není nikdo, kdo by mi s tím poradil...
jenom 1/3? nějak nechápu :-) jo, sorry. skript volám přes <body onLoad="settimes()"> |
||
peta Profil |
#4 · Zasláno: 25. 6. 2007, 15:23:43
intimidant
"jenom 1/3? nějak nechápu :-) " "jo, sorry. skript volám přes <body onLoad="settimes()">" - tak treba radek s body onload nikde nevidim. takze, kdo vi, co jsi nam jeste zatajil. Hadam, ze nejmin dalsi 2/3 :) Nahrej na web a dej odkaz na stranky. - co pise JS konzola, kdyz nechces dat odkaz? Nejaky priklad z casovacem je na jakpsatweb - javascript - priklady - datum a cas nebo muzes zkusit nejaky muj, ale nerucim za vysledky http://peter-mlich.wz.cz/x/ww/js/JSpriklady.htm a take muzes zkusit googlecom timer javascript example VYHLEDAT - jestlize logujes pomoci PHP, pak musis do stranky vzit PHP datum a cas a ne z JS. A tim padem muzes do promenne ulozit cislo a casovac volat za 1000 ms a cislo odecitat. Nikde nepotrebujes tudiz time.getTime(); Navic, kdyz si nastavim na PC 21.11.1985 , tak to bude urcite mensi nez cas, ktery mas ty na serveru a JS mne nikdy neodloguje? |
||
intimidant Profil * |
#5 · Zasláno: 25. 6. 2007, 16:11:07
nepsal jsem celý skript. je to php stránka na cca 300 řádků, vybral jsem jen řádky, které se týkají javascriptu...
ale už jsem to vyřešil, díky za pomoc. nakonec jsem vygooglil nějaký návod v DHTML a tam jsem zjistil, že <a href='' id='odpocet' style='text-decoration:none; color:#fff;' title='Aktualizovat čas do automatického odhlášení.'> </a> jsem volal špatně - v odkazu byla jenom mezera, což IE a Opera braly jako nulovou hodnotu a proto neudělaly nic. FF to vzal jako objekt a nacpal tam moji funkci, jak jsem potřeboval... jinak s časem na serveru a u uživatele to nevadí, tohle je informativní text pro uživatele, že bude odhlášen, pokud nebude pracovat. na serveru běží vlastní timeout kvůli session stealing. každopádně díky ;o) |
||
Časová prodleva: 14 let
|
0