Kezdőoldal » Számítástechnika » Weblapkészítés » Miért nem hívja ez meg a...

Miért nem hívja ez meg a funkciót?

Figyelt kérdés

if($imp === "yes"){echo "<script>set_important()</script>";}

Később pedig php-n kívül van egy olyan, hogy:


<script>

function set_important(){

alert("menne ez talán");}

</script>


A helyzet a következő.

Iframeben történik a dolog, de ez nem érdekes.

Az viszont annál inkább, hogy a forrásban a php-generált funkcióhívás megvan ugyan, de az alert nem jön elő.

//A scriptekben, ha ide bele is gépeltem hibát, valójában nincsenek, bár a legenerált script, ha alertet írok bele, azt előhozza, de a funkciót meg nem hívná... Ugyanakkor egy másik helyen egy <a> tag hrefje, és ott behívja, és megy is...

Kérdés: miért? Mi a fene van ezzel? Hogyan lehetne máshogy, hogy működjön?


2014. jún. 19. 18:25
 1/6 A kérdező kommentje:
Egyébként lehet, hogy azért van, mert bizonyos dolgok src-jét változtatja? Ha a funkció tartalmát másolom be a php-hoz, akkor sem megy.
2014. jún. 19. 18:32
 2/6 A kérdező kommentje:
Aham, setTimeout megoldotta.
2014. jún. 19. 18:37
 3/6 anonim ***** válasza:
ha előbb hívod a scriptet, mint amit módosítana akkor gondot okoz..
2014. jún. 19. 21:10
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
A probléma ott lehetett, hogy a script kiechozása jóval előbb (pl. 10ms) történt, mint a többié. Így egy 50ms-es settimeout is elég volt.
2014. jún. 19. 21:52
 5/6 anonim ***** válasza:

Ha nem ugyanabba a <script> tagba rakod bele, akkor esélytelen, hogy működjön, mivel így feldolgozásuk rögtön a betöltéskor történik meg, és nem egyben az összesé. Így az első <script>-ben lévő kód futásakor a set_important függvény még nem létezik.

A setTimeout nem oldja meg a problémát, mert előfordulhat, hogy a dokumentum második fele több, mint 50 ms alatt töltődik be, ezt te előre nem tudod meghatározni, mert függ a szerver terheltségétől, a klienstől, a kapcsolattól (az égállástól...).

Mindenképp úgy kéne megírni ezt a kódot, hogy a függvény hívása később legyen, mint a definiálása.

2014. jún. 21. 10:29
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Oks, de egyelőre még mobilról is megy. Azért majd átírom.
2014. jún. 22. 17:32

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!