Obsah stránky sa číta, prosím čakajte…
Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.5, Roman Horváth, © 2021, powered by Rheia
» Na týchto stránkach momentálne aktívne pracujeme. «
TWS – Manuál k RS Rheia 1.5 – 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 prečítaní celého obsahu stránky zo servera (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 prečí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 prečítania stránky zo servera 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.