Autor Zpráva
Jirka224
Profil *
Dobrý večer,
potřeboval bych na své stránky script, který bude počítat jak dlouho je uživatel na stránce - tento čas by se mu měl zobrazovat. Nikde ho nemůžu najít. Díky za pomoc
DoubleThink
Profil *
Mrkni na setInterval.
Str4wberry
Profil
Nikde ho nemůžu najít.

Pokud hledáš hotové řešení, tak to zkus hledat jako stopky.
Jirka224
Profil *
Stopky jsem hledal - ale potřeboval bych aby se to spustilo samo - všechny stopky co jsem našel musíš spustit tlačítkem, a nejde mi to předělat na to aby se automaticky spustily.
Radek9
Profil
Jirka224:
Na tom tlačítku musí být nějaká onclick událost, kde bude volání nějaké funkce. Tak tu funkci prostě spusť manuálně.
YOYO
Profil
pokud ti jde o neveřejnou statistiku, tak něco jako:
var startTime, endTime
windows.onload = function(){
  startTime = (new Date).getTime()
}

   windows.onbeforeunload = function(){
    endTime = (new Date).getTime()
    // a ted ještě poslat rozdíl těch dvou časů na server, třeba takto: 
    (new Image).src = "http://example.cz/script.php?time="+(endTime-startTime)
    // kde už to nák zpracuje php
}

(netestoval jsem, spíš jen náčrt)

edit: tak se zdá, že události onunload i onbeforeunload mají zvláštní chování,.. a mnou uvedený příklad nebude fungovat, poradí někdo, jak volat script před zavřením stránky?
Jirka224
Profil *
Díky moc!
Radek9
Profil
YOYO:
Nebude to tím, že tam máš windows?
Jirka224
Profil *
Tak vyzkoušeno, ale bohužel také nejede.
YOYO
Profil
Radek9:
nechápu jak verze operačního systému může souviset s chováním javascriptu v prohlížeči?
nicméně až ted, (ano neumím pořádně číst, kaji se) jsem si všiml, že Jirka vyžaduje zobrazení toho času,.. takže všechny mé příspěvky zde můžete ignorovat, jsou jen matoucí,..
Jirka224
Profil *
Mě by stačilo, kdyby jste byli ochotní a uměli toto předělat tak, aby se to celé spustilo s načtením stránky. Pokouším se o to asi od 12:00 a stále se mi nedaří.
<script language="JavaScript"> 
<!-- 
ms=0; 
stav=0; 
function startstop() 
{ 
    if (stav==0) 
    { 
        stav=1; 
        then=new Date(); 
        then.setTime(then.getTime()-ms); 
    }else 
    { 
        stav=0; 
        now=new Date(); 
        ms=now.getTime()-then.getTime(); 
        document.stopky.cas.value=ms/1000; 
    } 
} 
function vynuluj() 
{ 
    stav=0; 
    ms=0; 
    document.stopky.cas.value=""; 
} 
function zobraz() 
{ 
    setTimeout("zobraz();",10); 
    if (stav==1) 
    { 
        now=new Date(); 
        ms=now.getTime()-then.getTime(); 
        document.stopky.cas.value=ms/1000; 
    } 
} 
// --> 
</script> 
</head> 
<body OnLoad="zobraz()"> 
<form name="stopky"> 
Uplynulý čas: <input type="text" name="cas" size="8"><p> 
<input type="button" value="Start / Stop" onClick="startstop()"> 
<input type="button" value="Vynuluj" onClick="vynuluj()"> 
</form> 
 
(staženo z http://www.jaknaweb.com/script-kod/246/stopky)
Str4wberry
Profil
<body OnLoad="zobraz(); startstop()">
Jirka224
Profil *
Mockrát děkuji! Jede! Děkuji všem co se mi snažili pomoci! A teď proč jsem to vlastně dělal? Pro ty co znají EPIC SAX GUYE http://wtestq.wz.cz/
Radek9
Profil
YOYO:
Já ale vůbec nemluvil o operačním systému, nýbrž o proměnné, na kterou jsi nastavoval událost. Nemáš tam window, ale windows. Proto jsem zvýrazňoval to s.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: