Autor | Zpráva | ||
---|---|---|---|
Ondra_xxx Profil * |
#1 · Zasláno: 1. 7. 2007, 00:55:26
Zdravím vás. Potřeboval bych radu od zkušenějších :)
Mám JS fci, kterou potřebuji spouštět při každé provedené akci na stránce (tzn. po kliknutí na jakýkoliv odkaz, po odeslání formuláře, po refresh, atd.) Normálně bych využil metodu onload, kterou bych dal do body tagu. Bohužel tentokráte tuto možnost nemám (jiné JS skripty mi nedovolí toto použít). Máte někdo nějaký nápad, jak danou JS fci spouštět i bez použití onload ? Díky všem za pomoc. |
||
KZLA Profil * |
#2 · Zasláno: 1. 7. 2007, 01:06:25
Kdyby si tam dal onload tak se to spustí jen jednou ne? Ty chces aby se to spoustelo opakovane pri kazde akci??
|
||
Ondra_xxx Profil * |
#3 · Zasláno: 1. 7. 2007, 01:18:52
Hmm no kdybych tam dal onload, tak se to bude spouštět pokaždé při obnovení stránky. Pokaždé, když s budu znovu načítat obsah. A to je to co potřebuju. A proto je onload jak stvořené. Ale já ho bohužel nemohu využít.
|
||
KZLA Profil * |
#4 · Zasláno: 1. 7. 2007, 01:22:35
tak to dej normalne do scriptu treba do paticky
... <script type="text/javascript" language="javascript"> <!-- //nejaky kod alert("To se ukaze pri nacteni stranky"); //--> </script> </body> </html> neni to nijak efektivni ale ucel to splni |
||
Ondra_xxx Profil * |
#5 · Zasláno: 1. 7. 2007, 01:34:33
KZLA: Hmm to mi bohužel nefunguje. Já to mám udělané v JS tak, že mám asi 4 JS funkce, které si mezi sebou předávají parametry a jsou mezi sebou různě propleteny. Možná proto to takhle nechce běžet.
|
||
KZLA Profil * |
#6 · Zasláno: 1. 7. 2007, 01:37:00
Toto fungovat musí pokud ne tak máš pravděpodobně někde chybu v syntaxy. Spusť to pod firefoxem a vyhoď si chybovou konzolu.
|
||
Ondra_xxx Profil * |
#7 · Zasláno: 1. 7. 2007, 01:41:57
KZLA: ee. Syntaxe je správně. Mě to funguje když to vyzkoouším přes body onload
potřebuju spustit fci initTimer(time, location); Tato funkce mi pak spouští další fce a předává jim hodnoty proměnných time a location |
||
KZLA Profil * |
#8 · Zasláno: 1. 7. 2007, 01:57:37
Zkus poslat celý kód takto z popisu s tím asi nikdo nic neudělá...
|
||
fos4 Profil |
#9 · Zasláno: 1. 7. 2007, 23:23:41
window.onload = function() {
// blabla } |
||
sakalik Profil |
#10 · Zasláno: 2. 7. 2007, 09:35:45
myslim ze
window.onload = function() { // blabla } nie je moc dobry napad lebo mozes prepisat nejaku f. ktora bola pridana rovnakym sposobom radsej: function f() { } if(window.addEventListener) {window.addEventListener("load",f,false);} else if(window.attachEvent) {window.attachEvent("onload",f);} else {window.onload=f;} |
||
peta Profil |
#11 · Zasláno: 2. 7. 2007, 13:00:00
Ondra_xxx
1) x = document.createNode('SCRIPT') document.getElementByTagName('HEAD').appendNode?(x) <script>window.onload=mojefunkce();</script> nebo document.getElementByTagName('BODY').appendNode?(x) <script>mojefunkce();</script> 2) viz sakalik "nie je moc dobry napad lebo mozes prepisat nejaku f. ktora bola pridana rovnakym sposobom radsej: " Ja myslim, ze tim nic nevyresil :) - muzes prepsat nejakou funkci (viz JS Bookmarklet, pouzivaji nahodny HASH pro nazev funkce, slayeroffice.com, tusim) - muzes prepsat onload v body window.onload=f; Coz je zase chyba sakalikova reseni, proto rikam, ze nic neporesil. Ono zalezi na tom, co bys chtel presne udelat. Stranku, co na ni je a proc takhle divoce spoustet scripty? tez je mozne window.onload+="mojefunkce();" ALE, kdyz tam je: "a=1;b=2;" "a=1;b=2" tak ten strednik bude trefa doplnit ALE, pokud odkazujes na funkci window.onload=f; tak to prepises a zas nicis puvodni stranku Hele, jestli mam spravne tuseni a delas nahradu IFRAME pro ajax httprequest, tak ono to jde napsat do frame. Jen mi to neslo tusim v IE, ale mozna by se to dalo pres .frameDocument nebo neco takoveho. Takze jsem to poresil pridanim do PHP tagu SCRIPT |
||
sakalik Profil |
#12 · Zasláno: 2. 7. 2007, 14:30:18
peta
na projektoch kt. pracujem musim pouzivat DOM a to window.addEventListener alebo window.attachEvent pretoze app. co robym su iba nejake pluginy takze ja neviem ci niekto spolu s mojim pluginom nepouzije <body onload="f();"> alebo window.onload |
||
Časová prodleva: 17 let
|
0