Autor Zpráva
AM_
Profil
Zdravím, neví tu někdo, jak emulovat onbeforeunload v Opeře? Nepodařilo se mi vygooglit kloudné řešení - mám komplexní stránku, která svůj stav neukládá pomocí formuláře, ale pomocí AJAXu, a chci uživatele zadržet, kdyby náhodou server běhal pomaleji a uživatel odešel ještě dřív, než se stav stačí uložit.
Aichi
Profil
jestli to opera nepodporuje, máš smůlu a žádná obezlička nefunguje. Můžeš zkusit nastavit kompatibilní chování, ale ruku do ohně nedám. Spíš dej uživatelům na vědomí že se něco děje nějakým preloaderem, který bude dostatečně viditelný a hlásající, že dokud tam je, tak mohou přijít o data.
AM_
Profil
Můžeš zkusit nastavit kompatibilní chování, ale ruku do ohně nedám
//EDIT: pak se volá alespoň onunload, ale:
1) pouze při kliknutí na odkaz, nikoli tlačítky historie (zpět, vpřed)
2) při onunload už je pozdě na zastavení přesměrování (funguje window.stop() - vrátí mě na stránku, kde chci zůstat, ale z nějakého důvodu se načte znovu a data z formuláře jsou ztracena; ne jako onbeforeunload, který opuštění stránky zabrání včas
takže bez nějakého dalšího triku je to vlastně k ničemu.

Spíš dej uživatelům na vědomí že se něco děje nějakým preloaderem
to samozřejmě dám, ale kdyby nějak šlo zamezit opuštění stránky jako v ostatních browserech, bylo by to ideální. Zřejmě se ale tedy budu muset smířit s tím, že v opeře to nelze.

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:

0