Newsgroup: it.comp.lang.javascript
Titolo: <script src="file.js"></script>

Salve a tutti.
Nell'head di una pagina includo un file .js tramite l'apposito tag html.
E' possibile tramite javascript cambiare il file incluso? Cioč posso ad
esempio, per un certo motivo, scegliere di includere il file
"script_2.js" a scapito di "script_1.js"? Ovviamente tale comando, se
esiste, dovrebbe essere collocato in una funzione appartenente ad un
altro blocco di script... Non voglio comunque includere nella pagina
tutti i files di script che mi occorrono.
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 tutti i files di script che mi occorrono.
Non si puo' in modo nativo (a quel che ne so).
Se vuoi farti venire un mal di testa leggiti questo tutorial:
http://www.jsdir.com/tutorials/inclusioni.asp
e' una possibile soluzione al problema, poi decidi tu se ne vale la pena 
per quel che devi fare.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

Grazie.
per IE5+
avendo per esempio 
i file js
script1.js
alert('ciau, ho occupato pippuz!\nsono il primo script esterno')
script2.js
alert('ciau, ho occupato pippuz!\nsono il secondo script esterno')
la seguente pagina dovrebbe funzionare
<HTML>
<HEAD>
<TITLE> test caricamento script esterno al bisogno </TITLE>
<script id=pippuz src=''">
</script>
<script language="javascript">
function nome(m){
scripto='mi sai nen lon ca voeil :-('
document.getElementById('pippuz').src=m
if(document.getElementById('pippuz').readyState)
scripto=document.getElementById('pippuz').readyState
 alert(document.getElementById('pippuz').src+'\n '+scripto)}
function nome1(m){
newscript=document.createElement('script')
newscript.src=m 
document.body.appendChild(newscript)
}
</script>
</HEAD>
<BODY>
<form>
<input type=button onclick=nome('script1.js')>
</form>
<form>
<input type=button onclick=nome('script2.js')>
</form>
<form>
<input type=button onclick=nome1('script2.js')>
</form>
</BODY>
</HTML>
per ns6 non funziona 
per mozilla/gecko (il cuggino piu' furbo di Ns6)
mi funzionava solo con la creazione del tag script
nella terzultima versione.
la penultima non mi funzionava piu'
l' ultima release non l'ho scaricata e non so
C'e' da dire che  il mancato adeguamento dei src dei tag script in
questo browser e'/era  listato nei bug pe rcui presumo verra'
superato.
ns4 nessuna chance ( se non il post di Riccardo)
IE4 idem
Valgono naturalmente tutte le considerazioni sull' opportunita' di
prendere una strada simile  non (ancora) adeguatamente supportata

 Grazie.
Un po' di javascript che scrive sé stesso...
<script>
var str = "script_1.js";
document.write("<scr"+"ipt src='"+str+"'>"+"<\/scr"+"ipt>");
</script>
Ciao

, 
ascartab...@codiceweb.net
 
says...

Ma questo implica il reload della pagina... io ho capito che non lo 
voleva... ho capito male? :-)


 voleva... ho capito male? :-)
Forse ho capito male io. Credevo volesse scegliere il file al caricamento
della pagina...
Se la pagina è già caricata bisognerebbe mettere gli script in pagine html e
caricarli in frame nascosti o iframe/ilayer.

No, non voglio ricaricare la pagina!
Ho usato la soluzione proposta da Riccardo, è ottima, funziona
perfettamente.
Grazie a tutti comunque!


 perfettamente.
Lusingato :-)
Occhio comunque, perché non sono mai andato oltre il tutorial: ergo non 
l'ho mai usata se non nello script del codice fiscale (che cmq funziona 
da quest'estate a quel che ne so).


 
http://www.jsdir.com/tutorials/inclusioni.asp
Io te l'avevo proposta una soluzione "per il problema explorer" com'e' 
che nn l'hai mai considerata? :P
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"Quanti angeli danzano sulla punta di uno spillo?"

 che nn l'hai mai considerata? :P
????
Non me ne ricordo ... :-(


 Non me ne ricordo ... :-(
Ma guarda questo.. ;P
Scherzi a parte, semplicemente in IE un tag script puo' essere 
modificato come un qualsiasi altro oggetto, e quindi se vuoi caricare 
dinamicamente un altro script non basta altro che cambiare il .src dello 
script stesso :)
Ovvero:
<html>
<head>
	<script id="dll" src="js1.js" onreadystatechange="alert
(this.readyState)"></script>
	<script>
		function f(){			
			document.scripts["dll"].src="js2.js";
		}
	</script>
</head>
<body>
<a href="javascript:f()">prova</a>
</body>
</html>
Ecco fatto.
tramite l'evento onreadystatechange puoi controllare lo stato di 
caricamento dello script.. ho messo un semplice alert per farti capire 
il concetto.
Tramite questo metodo e' davvero facile leggere "al volo" file JS.. 
Anche se NN6 e Opera 6 non so come si possano comportare in questi casi. 
Per questo e' un approccio che, cmq, solitamente nn uso. (e' anche vero 
che normalmente NN6 e Opera li considero il giusto, pero', :D )


 }
Aggiorno il tutorial in settimana... con tanto di scuse per la memoria 
fallace :-)
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
    itALY = it

 wrote:

no, ricordavo male,  [mannaggia la cavallina, devo provare prima di
parlare]
con IE devono proprio essere pagine in rete,  in locale anche se
collegati,  niente, non e' suf(f)iciente