Autor Zpráva
vacjos
Profil *
Ahoj,
lze do stránky dynamicky vkládat soubory js.
Např. soubory:
<script language="JavaScript" type="text/javascript" src="data1.js"></script>
<script language="JavaScript" type="text/javascript" src="data2.js"></script>
<script language="JavaScript" type="text/javascript" src="data3.js"></script>
...
V každém z těchto souborů je array se stejným názvem, ale jinými hodnotami.
Např.:
V data1.js je var list = new Array();list[0] = new Array (1,2,3);list[1] = new Array (2,3,4);
V data2.js je var list = new Array();list[0] = new Array (3,2,1);list[1] = new Array (4,3,2);
V data3.js je var list = new Array();list[0] = new Array ('a','b','c');list[1] = new Array ('x','y','z');
...
Po načtení každého ze souborů by se měla spustit nějaká funkce, např. vypisující všechny hodnoty z array.

Samozřejmě jde to napsat staticky, tedy takto:
<script language="JavaScript" type="text/javascript" src="data1.js"></script>
<script language="JavaScript" type="text/javascript">pis_arr();</script>
<script language="JavaScript" type="text/javascript" src="data2.js"></script>
<script language="JavaScript" type="text/javascript">pis_arr();</script>
<script language="JavaScript" type="text/javascript" src="data3.js"></script>
<script language="JavaScript" type="text/javascript">pis_arr();</script>

Ale já bych chtěl mít názvy souborů js uložené v array
Např.: var nazvy_js= new Array('data1.js','data2.js','data3.js',............hodně souborů...................);

Nemohu využít php pro toto generování - verze stránek na CD-ROM.

Jde to vůbec nějak? Nebo mám raději přejmenovat názvy jednotlivých array?

Díky, díky
Fred
Profil
Nevím jsetli mi je jasné o co se snažíš, ale zkus tohle:
data1.js : var list=[];list[0]=['1','2','3'];list[1]=['2','3','4'];pis_arr(); 
data2.js : var list=[];list[0]=['3','2','1'];list[1]=['4','3','2'];pis_arr();
data3.js : var list=[];list[0]=['a','b','c'];list[1]=['x','y','z'];pis_arr(); 

a zpracovat tady
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <title>test</title> 
  <script type="text/javascript">
    function pis_arr(){
    alert(list[0][0])
    }
    function idLoadScript(){
      var idscripts=['data1.js','data2.js','data3.js'];
      for(var i=0;i<idscripts.length;i++){
        scri=document.getElementById('id'+i).appendChild(document.createElement('script'));
        scri.type='text/javascript';
        scri.src=idscripts[i];
      }
    }
    if(document.childNodes){window.onload=idLoadScript;}
  </script>
</head> 
<body> 
<div id="id0"></div>
<div id="id1"></div>
<div id="id2"></div>
</body> 
</html> 

Witiko
Profil
Už se řešilo, odkážu na:

http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=94682&page=0
Fred
Profil
aha? http://dean.edwards.name/weblog/2006/06/again/#comment5338
Witiko
Profil
Fred: Nerozumím jakou má tohle spojitost s tématem? Předpokládám, že mi něco uniklo, jsem ještě trochu ospalý, ale z toho co jsem pochopil se na dané stránce řeší cross-browser funkční přepsání originálního window onload eventu tak, aby firenul při načtení celé DOM struktury, ne až poté, co se načtou veškeré elementy. Nevidím tu spojitost.
Fred
Profil
Witiko:
jsem ještě trochu ospalý
asi míň, než jsem byl já ;-) sorry, nepročítal jsem to dost pozorně.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: