Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: dan67 26. 08. 2018, 12:10:21

Název: JavaScript: načtení externího souboru podle proměnné
Přispěvatel: dan67 26. 08. 2018, 12:10:21
Zdravím,
potřebuju poradit s JS a načtením externího souboru s proměnnými.

V html hlavičce mám <script src="db.js"></script>, ale potřeboval bych selektivně, podle jiné proměnné načíst odpovídající verzi db.js souboru (db_v1.js, db_v2.js). Ale vůbec netuším jak to udělat.

Netuším jak nahradit <script src="db.js"> z html hlavičky stránky JS kodem, který vybere správnou verzi mého db souboru.
Název: Re:javaScript, načtení externího souboru
Přispěvatel: JirsákScript 26. 08. 2018, 12:43:13
ta proměnná je co zač? jde o proměnnou z cookie, proměnnou vypočtenou na základě vstupu co, uživatel zadá v input, proměnnou, co se tam (do zdrojáku)vsříkne  ze serveru?)?

Předpokládám, že to nechceš (nebo nejde )dělat takto na serveru(kod na serveri)
Kód: [Vybrat]
<script src="db.js<?php echo $(verze)?"1":2" ?>/>
Napadá mě jiné řešení,(kod na klientu), nevím, jestli je akceptovatelné (leak zdrojáku, vyšší velikost):
Kód: [Vybrat]
<script>
if(verze==1){kod prvni verze ;} else {kod druhe verze}
</script>
Případně lze použít eval, document.write
Název: Re:javaScript, načtení externího souboru
Přispěvatel: Filip Jirsák 26. 08. 2018, 12:53:22
Pokud to chcete dělat v čistém JavaScriptu, ve vašem skriptu vytvoříte nový element script, nastavíte mu požadované src a element vložíte do stránky. Pokud nevíte, jak to udělat v čistém JavaScriptu, použijte třeba jQuery a funkci getScript() (http://api.jquery.com/jQuery.getScript/), kde už je to vyřešené.
Název: Re:javaScript, načtení externího souboru
Přispěvatel: dan67 26. 08. 2018, 13:21:32
Z "hlavní" stránky otevírám stránku např. "databaze.html" s několika parametry. Podle jednoho z těchto předaných parametrů si stránka databaze.html načte odpovídající db_vx.js (db_v1.js, db_v2.js,...).

Můžu si vytvořit ručně stránky databaze_v1.html, databaze_v2.html,... a do nich dát správný <script src="db_vX.js"></script>.

Nešlo by to ale univerzálně, s jednou stránkou pomocí předaného parametru? Radši bych se vyhnul jquery a podobným balíkům...
Název: Re:javaScript, načtení externího souboru
Přispěvatel: Filip Jirsák 26. 08. 2018, 13:43:21
Jde to samozřejmě napsat i v čistém JavaScriptu, pomocí createElement (https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement) si vytvoříte element script, nastavíte mu atribut src a třeba pomocí appendChild (https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild) ho vložíte do hlavičky stránky.
Název: Re:javaScript, načtení externího souboru
Přispěvatel: dan67 26. 08. 2018, 14:35:44
Jde to samozřejmě napsat i v čistém JavaScriptu, pomocí createElement (https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement) si vytvoříte element script, nastavíte mu atribut src a třeba pomocí appendChild (https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild) ho vložíte do hlavičky stránky.

Díky, to vypadá, že by šlo.