Autor | Zpráva | ||
---|---|---|---|
Alastor Kopál Profil * |
#1 · Zasláno: 20. 9. 2008, 21:42:01
dobrý den
zkoušel jsem zkloubit plivnutí hlášky a načasování ale nešlo mi to po 5 sekundách se mi hláška nezobrazila jak bych měl script napsat tak aby fungoval ? |
||
DJ Miky Profil |
#2 · Zasláno: 20. 9. 2008, 22:17:33
„jak bych měl script napsat tak aby fungoval ?“
Nejlépe správně. Pošli sem ten tvůj nefunkční kód. Jinak načasování můžeš provádět pomocí window.setTimeout(), popř. setInterval(). |
||
Alastor Kopál Profil * |
#3 · Zasláno: 22. 9. 2008, 14:52:54
<script>
setTimeout("alert("To ses ale lekl!")12000); </script> |
||
Chamurappi Profil |
#4 · Zasláno: 22. 9. 2008, 15:06:01
Reaguji na Alastora Kopála:
Prohlížeč se lekne lichého počtu uvozovek. Ty bys na jeho místě takový zápis pochopil? Viz časování a textové proměnné na JPW. |
||
Alastor Kopál Profil * |
#5 · Zasláno: 22. 9. 2008, 17:25:31
vždyť to má 4 uvozovky
|
||
Mistr Profil |
#6 · Zasláno: 22. 9. 2008, 17:30:05
Alastor Kopál
„vždyť to má 4 uvozovky“ Čtyři? Kde jsou? |
||
Chamurappi Profil |
#7 · Zasláno: 22. 9. 2008, 17:46:00
Reaguji na Alastora Kopála:
Buď neumíš počítat, nebo si pleteš uvozovky se závorkami. |
||
Měsíček Profil |
#8 · Zasláno: 22. 9. 2008, 17:53:35 · Upravil/a: Měsíček
Reaguji na Chamurappiho a na Mistra:
Tam je chyb více: 1.) Chybí čárka ("To ses, ale lekl!"), ... 2.) Kdyby dodělal ještě jedny uvozovky stejně mu to nepůjde. 3.) Čtyřuvozovková konvence - IE to nepřekousne. 4.) Menší chyba (neovlivňuje funkčnost) -> atribut type. Takže by to měl mít takhle: <script type="text/javascript"> setTimeout("alert('To ses, ale lekl!')",12000); </script> |
||
Chamurappi Profil |
#9 · Zasláno: 22. 9. 2008, 18:19:58 · Upravil/a: Chamurappi
Reaguji na Měsíčka:
Nechtěl jsem mu naservírovat funkční řešení na zlatém podnosu. „Chybí čárka ("To ses, ale lekl!"),“ Tobě přebývá před „ale“ :-) „Čtyřuvozovková konvence - IE to nepřekousne“ Tomu nerozumím. Jaká konvence? Jaké kousání? „Menší chyba (neovlivňuje funkčnost) -> atribut type“ Irelevantní přežitek, JS je výchozí jazyk. Já bych to napsal raději takhle: <script> setTimeout(function() { alert("To ses ale lekl!"); }, 12000); </script> |
||
Měsíček Profil |
#10 · Zasláno: 22. 9. 2008, 18:34:23
Reaguji na Chamurappiho:
"Tomu nerozumím. Jaká konvence? Jaké kousání? " Zkusím názorně :-) <script type="text/javascript"> setTimeout("alert("To ses, ale lekl!")",12000); </script> "Irelevantní přežitek, JS je výchozí jazyk." Ano, ale to nic nemění na tom, že neuvedení atributu type je víceméně chyba :) Jinak jaké jsou výhody tebou zmiňované konstrukce, už jsem si párkrát všiml, že to píšeš tímhle stylem, ale žádná výhoda mě nenapadá :( |
||
Bubák Profil |
#11 · Zasláno: 22. 9. 2008, 18:38:22
„3.) Čtyřuvozovková konvence - IE to nepřekousne.“
Existuje prohlížeč, který výše uvedenou názornou zkoušku "překousne"? |
||
Měsíček Profil |
#12 · Zasláno: 22. 9. 2008, 18:53:24
"Existuje prohlížeč, který výše uvedenou názornou zkoušku "překousne"?"
Neměl by ;-) |
||
Chamurappi Profil |
#13 · Zasláno: 22. 9. 2008, 19:01:12
Reaguji na Měsíčka:
„IE se na vykonání vykašle, budou mu vadit přebytečné uvozovky“ Na to se vykašlou všechny prohlížeče. Další krok po doplnění uvozovek by byl escapování, předřadit těm vnitřním uvozovkám zpětná lomítka. Je pravda, že lichého počtu uvozovek jsem se leknul spíš já než prohlížeč. Styděl jsem se k tomu přiznat, teď už si uvědomuji, jak pošetilé a zbabělé to ode mě bylo. „neuvedení atributu type je víceméně chyba :)“ Jen podle W3C. Budoucí verze HTML povinnost typu ruší. „že to píšeš tímhle stylem, ale žádná výhoda mě nenapadá :(“ Na toto téma se nedávno rozpovídal ah01. Shrnu-li to: 1) Je-li v prvním argumentu funkce, je vyhodnocována v kontextu, v jakém je zavolán setTimeout. Může přistupovat k lokálním proměnným nebo k referencím objektů, které do řetězce nejdou rozumně narvat. U tvého zápisu s řetězcem se alert(…) vykonává v globálním kontextu. 2) Prohlížeč u mého kódu nemusí po dvanácti sekundách rozebírat nový javascriptový blok. Zavolá funkci, kterou už má v paměti předžvýkanou. 3) Zpracovávání kusu řetězce, jako by to byl skript, je považováno za nevhodnou praktiku. Říká se „eval is evil“ a tvůj zápis setTimeoutu se chová jako eval. Musíš se patlat s uvozovkami, opatrně escapovat atd. |
||
Měsíček Profil |
#14 · Zasláno: 22. 9. 2008, 19:06:23
Reaguji na Chamurappiho:
"Na to se vykašlou všechny prohlížeče." Taky si myslím, nevím proč jsem byl tak skromný a napsal zrovna jen jeden prohlížeč :-) Jinak díky za vysvětlení tvého zápisu, poučím se. |
||
Časová prodleva: 16 let
|
0