Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 19. 5. 2010, 19:30:48
Zdravím,
chtel bych se zeptat, ja je mozne za pooci JS docilit toh aby byla JS funkce definovana v <head> zavolana jen na urcitych strankach bez nutnosti uskutecneni nejake spousteci udalosti (onLoad, etc..) Jde o to, ze jsem vzdy spustel udalost v kazdem view tim, ze jsem ho hlavni sablony dal do <body> onLoad Ted bych ale chtel zavolat ji jen na nekterych strankach: Zkousel jsem tedy do daneho view umistit>> <script type="text/javascript"> <!– backButtonOverride(); } // –> </script> To ale bohuzel funkci nezavola. Diky za kazdou radu. |
||
Witiko Profil |
#2 · Zasláno: 19. 5. 2010, 19:38:27 · Upravil/a: Witiko
Zavolá, máš na řádku 4 navíc }, což tam nemá co dělat. Otázkou je proč cheš spouštět funkci když ještě není dokument načten? Nevím, co má backButtonOverride přesně na práci, ale vím bezpečně, že ve chvíli, kdy dojde k zavolání, nebude existovat document.body ani žádné elementy v něm.
|
||
gardener Profil |
#3 · Zasláno: 19. 5. 2010, 21:07:38
Ano, je tam navic, v kodu jsem ji ale mel smazanou.
fce backButtonOverride() zamezuje uzivateli v urcitych mistech pouzit tlacitko zpet v prohlizeci.. Na onload funguje zde nikoliv. Zapsanou ji mam takto> function backButtonOverride() { // Work around a Safari bug // that sometimes produces a blank page setTimeout("backButtonOverrideBody()", 1); } function backButtonOverrideBody() { // Works if we backed up to get here try { history.forward(); } catch (e) { // OK to ignore } // Every quarter-second, try again. The only // guaranteed method for Opera, Firefox, // and Safari, which don't always call // onLoad but *do* resume any timers when // returning to a page setTimeout("backButtonOverrideBody()", 100); } V nekterych mistech jednoduse potrebuji aby uzivatel nemohl pristupovat k formulari a zvovu ho vyplnovat, browser si data z formu udrzuje v cache, takze pokud dam zpet zobrazi se mi vsechny vyplenene hodnoty, coz by mohlo svadet k vicenasobnemu odesilani formu. |
||
Witiko Profil |
#4 · Zasláno: 19. 5. 2010, 21:29:43 · Upravil/a: Witiko
Takže na dané stránce dojde k nekonečnému cyklu a volání jedné funkce 10x za sekundu? Hodně agresivní způsob, nedivil bych se, kdyby způsobil signifikantní zpomalení stránky, případně dokonce zatuhnutí na pomalejších strojích.
Jinak problém je v komentářích, pomlčky jsou třeba dvě: <script type="text/javascript"> <!-- backButtonOverride(); --> </script> |
||
gardener Profil |
#5 · Zasláno: 19. 5. 2010, 22:27:02
Dekuju za upozorneni, co mne ale nenapadlo je to, ze script musi bbyt na strance s formularem na kterou by se mel chtit uzivatel vratit, ne na strance s potvrzenim.
|
||
Časová prodleva: 14 let
|
0