Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.0, Roman Horváth, © 2015, powered by Rheia

Obsah stránky sa číta, prosím čakajte…

 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 otvárané v novom okne
(obvykle ide o externý odkaz) (pozri aj JavaScript na Mozilla Developer Network otvárané v novom okne
(obvykle ide o externý odkaz), JavaScript na Code School otvárané v novom okne
(obvykle ide o externý odkaz), JavaScript na Codecademy otvárané v novom okne
(obvykle ide o externý odkaz) alebo vyhľadávanie JavaScript v Google otvárané v novom okne
(obvykle ide o externý odkaz)), majú možnosť vložiť na stránku príkaz alebo sériu príkazov v jazyku JavaScript otvárané v novom okne
(obvykle ide o externý odkaz). Príkazy budú vložené do tela funkcie JavaScriptu otvárané v novom okne
(obvykle ide o externý odkaz), 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 otvárané v novom okne
(obvykle ide o externý odkaz)…)

Poznámka: JavaScript otvárané v novom okne
(obvykle ide o externý odkaz) 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 otvárané v novom okne
(obvykle ide o externý odkaz). 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 ‖)JavaScriptu otvárané v novom okne
(obvykle ide o externý odkaz) je možné dosiahnuť zaujímavé výsledky:

‖button|{Ahoj!|script:ahoj()}‖  →  {‖button|Ahoj!‖|script:ahoj()}

Výsledok:

Ahoj! Ahoj!   
 

 

Súvisiace kapitoly:

 


Otázky a úlohy:

  1. Akými spôsobmi je možné vložiť do zdrojového textu RS Rheia príkaz JavaScriptu otvárané v novom okne
(obvykle ide o externý odkaz)?
  2. Aký je rozdiel medzi direktívami #javaScript:#onShow:?
  3. Akým spôsobom je možné vložiť viacriadkový skript do zdrojového textu RS Rheia?
  4. Akým spôsobom je možné vložiť odkaz vykonávajúci príkaz JavaScriptu otvárané v novom okne
(obvykle ide o externý odkaz) do zdrojového textu RS Rheia?
  5. Pokúste sa zistiť, akú nevýhodu má ľavý spôsob vloženia tlačidla v príklade ukazujúcom vytvorenie dvoch tlačidiel Ahoj! v tejto kapitole. 
    (Tip: Skúste klikať na okraje tlačidiel v ukážke výsledku.)