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 atributemasync
pro 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
. Atributtype
se 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" />