Control slouží pro vypsání odkazu na soubor se skriptem (typicky JavaScript) do stránky. Control řeší situaci, kdy adresu není možné uvést absolutně – obvykle kvůli umístění ve virtuálním adresáři na vývojovém serveru – ale ani relativně – např. jsou přepisována URL.
<je:scriptLink runat="server" src="/assets/js/app.js" />
Atributy
async nepovinný [true, false]
Při nastavení na hodnotu true bude značka
<script>vypsána s atributemasyncpro povolení asynchronního načtení skriptu (<script async></script>)src povinný [cesta k souboru se skriptem]
Uvádí se absolutně z kořene aplikace. Pokud cesta není uvedena absolutně, control ji beze změny přepíše ven – chová se pak tedy jako obyčejná HTML značka
<script>.type nepovinný [string]
Slouží k uvedení typu připojeného skriptu. Není-li type uveden, JellyPot do stránky vypíše odkaz v podobě
<script src="script.js"></script>. HTML5 v takovém případě předpokládá, že se jedná o JavaScript, a není to třeba blíže specifikovat v atribututype. Atributtypese hodí, pokud je potřeba připojit skript v jiném jazyce (např. nezkompilovaný skript obsahující značky JSX –type="text/jsx"), nebo pokud je generovaný dokument v nějakém starším standardu, např. v XHTML a potřebujete ho uvést s atributemtype="text/javascript".
Příklady
Odkaz na skript do stránky vypíšeme takto:
<je:scriptLink runat="server" href="/assets/js/app.css" />
Pokud web běží ve virtuální složce na lokálním vývojovém serveru localhost/example/, dostaneme
<script src="/example/assets/js/app.js">
Když pak web přesuneme do ostrého provozu na www.example.com, dostaneme
<script src="/assets/js/app.js">
(Předpokládáme, že v ostrém provozu aplikace běží v rootu virtuálního adresáře.)
Pokud bychom chtěli do stránky asynchronně připojit např. nezkompilovaný skript obsahující značky JSX, pak bychom použili atribut type a async:
<je:script runat="server"
src="/assets/js/app.jsx"
type="text/jsx"
async="true" />