Autor Zpráva
Miloslav Široký
Profil *
Jak zastavím provádění události onbeforeunload?
Myslel sem, že univerzálně pomocí
return false
, ale to vyhazuje confirmbox "Opravdi chcete opustit tuto stránku?", potom "false" a potom "můžete pokračovat kliknutím na OK...". Dokonce když se místo false dopíše za return cokoli do uvozovek, vypíše se to v confirmboxu. Já tam ten confirm ale nechci...
Po potvrzení se to navíc chová rozdílně, když se událost vyvolala prvkem ze stránky, nebo zavřením křížkem v titulkovém pruhu prohlížeče.
Hoonza
Profil *
Konkrétní případ? Takhle se dají jen stěží odhadnoutod ostatní vazby...
Miloslav Široký
Profil *
<HTML>

<HEAD>
<TITLE>blb</TITLE>
</HEAD>

<BODY onbeforeunload="return 'kuk'">
<INPUT type="button" value="Koukej" onclick="javascript:window.close()">
</BODY>
</HTML>
Yuhů
Profil
tady není problém v události onbeforeunload. Problém je v tom, že si prohlížeš prostě nenechá zavřít okno. Jde o bezpečnostní opatření.

(Kdyby to šlo, v praxi by totiž podvodné stránky mohli otevřít nové okno a to staré zavřít, čímž by uživateli znemožnili vrátit se v historii zpět.)
Miloslav Široký
Profil *
To ne, to se ptá "... webová stránka se pokouší zavřít okno, chcete pokračovat?...", to je v cajku. Ale trochu mě zarazilo, že na return false případně return 'cokoliv' zareaguje tím dalším popsaným confirmem. Ale asi je potřeba se s tim smířit. Když tam ten return nedám, okno se zavře a konec.
Moje pohnutky byly opačné - při zavírání okna vyhodnotím podmínky a eventuelně chci pomocí return false to zavírání zastavit a přemluvit uživatele k nějakému korektnímu odchodu. Ale do toho mi leze ten poslední vestavěnej confirm.
Miloslav Široký
Profil *
Ale jinak sem rád, že nakonec přece jen někdo zareagoval... :-)
Díky
aladdin
Profil *
zastavit odchod (teda myslim zavretie okna, alebo confirm spravu) nezastavis, ale ak ho chces prehovorit na korektny odchod napr. odhlasenie mozes cez onbeforeupload zavolat funkciu, ktora to spravi
ak potrebujes zavolat, php, cgi skript, ktory uzivatela odhlasi treba si rychlo otvorit nove nejake male okno, co bude napr. php skript odhlasujuci uzivatela, kde uzivatelovi vypises, ze prebieha korektne odhlasenie, odhlasis ho a male okno zavries a ukol splnen (pokial ide o to korektne odhlasenie a nie o sposob udrzat uzivatela za kazdu cenu na stranke)
Toto téma je uzamčeno. Odpověď nelze zaslat.