Obsah stránky sa číta, prosím čakajte…
Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.0, Roman Horváth, © 2015, powered by Rheia
TWS – Manuál k RS Rheia 1.0 – Obsah « Preddefinované kódy, definícia vlastných kódov a ďalšie direktívy | Programovanie rozširujúcich modulov »
Administrátori, ktorí poznajú jazyk JavaScript (pozri aj JavaScript na Mozilla Developer Network , JavaScript na Code School , JavaScript na Codecademy alebo vyhľadávanie JavaScript v Google ), majú možnosť vložiť na stránku príkaz alebo sériu príkazov v jazyku JavaScript . Príkazy budú vložené do tela funkcie JavaScriptu , ktorá je automaticky spúšťaná po načítaní celého obsahu stránky (ide o tzv. reakciu na udalosť onload
).
Systém Rheia podporuje dva spôsoby vloženia príkazov. Direktíva #javaScript:
vloží príkazy do funkcie tak, aby boli spustené pred zobrazením obsahu načítanej stránky a direktíva #onShow:
vloží príkazy tak, aby boli spustené po zobrazení obsahu. Druhý spôsob je vhodný v prípade, že je nevyhnutné vykonať príkaz súvisiaci s komponentom, ktorý musí byť v čase jeho vykonania viditeľný (napríklad metóda focus()
).
V súlade so skutočnosťou, že ide o vloženie príkazov do tela funkcie, je potrebné prípadné definície nových funkcií uvádzať v tvare príkazu priradenia referencie na anonymnú funkciu do premennej, čiže takto:
#javaScript: ahoj = function() { alert("Ahoj!\n(Z volania funkcie.)"); };
Funkcia je potom použiteľná rovnako ako klasicky definovaná funkcia. (Podobným spôsobom je možné vložiť do reakcie na udalosť úplného načítania stránky takmer akýkoľvek príkaz jazyka JavaScript …)
Poznámka: | JavaScript automaticky vykoná volanie funkcie po nájdení oblých zátvoriek za názvom premennej. Ak by v premennej nebola referencia funkcie, vznikla by chyba, ktorú by však návštevník stránky nezaznamenal. Odhaliť by ju bolo možné len v konzole pre vývojárov. |
---|
Viacriadkové bloky
Skripty je komfortnejšie písať do viacriadkových blokov. Na to slúži dvojica direktív obsahujúcich kľúčové slovo openCapture
na začatie zachytávania a closeCapture
na ukončenie zachytávania riadkov. Konkrétne #javaScript:#openCapture
alebo #onShow:#openCapture
na začatie zachytávania riadkov a ich vloženie do skriptu podľa informácií uvedených vyššie a #closeCapture
na ukončenie zachytávania. Vyššie definovaná funkcia ahoj
by po rozpísaní na viac riadkov mohla vyzerať napríklad takto:
#javaScript:#openCapture ahoj = function() { alert("Ahoj!\n(Z volania funkcie.)"); }; #closeCapture
Odkazy spúšťajúce JavaScript
Rheia umožňuje vytvorenie odkazu, ktorý po aktivovaní spustí príkaz JavaScriptu . Tento typ odkazu musí mať definovaný zobrazovaný text. To znamená, že syntax jednoduchého odkazu nie je pri tomto type odkazu podporovaná. Syntax je takáto:
{Ahoj!|script:ahoj()}
Po kliknutí odkaz v nasledujúcej ukážke výsledku sa zobrazí správa v tvare:
Ahoj!
(Z volania funkcie.)
Odkaz je funkčný vďaka spojeniu poslednej ukážky kódu s niektorou z ukážok kódu definujúcou funkciu ahoj
vyššie v tejto kapitole.
Tlačidlá
Spojením vlastného formátu (znak dvojitej zvislej čiary ‖) a JavaScriptu je možné dosiahnuť zaujímavé výsledky:
‖button|{Ahoj!|script:ahoj()}‖ → {‖button|Ahoj!‖|script:ahoj()}
Výsledok:
Súvisiace kapitoly:
Otázky a úlohy:
- Akými spôsobmi je možné vložiť do zdrojového textu RS Rheia príkaz JavaScriptu ?
- Aký je rozdiel medzi direktívami
#javaScript:
a#onShow:
? - Akým spôsobom je možné vložiť viacriadkový skript do zdrojového textu RS Rheia?
- Akým spôsobom je možné vložiť odkaz vykonávajúci príkaz JavaScriptu do zdrojového textu RS Rheia?
- Pokúste sa zistiť, akú nevýhodu má ľavý spôsob vloženia tlačidla v príklade ukazujúcom vytvorenie dvoch tlačidiel
(Tip: Skúste klikať na okraje tlačidiel v ukážke výsledku.)
v tejto kapitole.