Newsgroup: it.comp.lang.javascript
Titolo: Dividere file.js

Dopo aver definito un archivio in un file.js esterno mi sono accorto che
pesa più di 100Kb, ora mi sarebbe venuta un'idea ma non so se è fattibile:
il file è così grande perchè gli passo un parametro e con uno Switch
effettuo una parte di codice piuttosto che un'altra, ecco la domanda:
sarebbe possibile fare qualcosa del tipo separare i vari case in altrettanti
vari file.js e caricarli a seconda del verificarsi di determinate
condizioni, per capirci, qualcosa tipo:
case a
carica fileA.js
case b
carica fileB.js
case c
carica fileC.js
etc...
Spero di essermi spiegato

carica fileC.js
la cosa è fattibile, ma con metodi adeguati. Per poter eseguire un
javascript lo devi includere nella pagina che lo utilizza. Ma se li
includi tutti nella stessa pagina, tanto vale che non li dividi
neanche...
Dovresti costruire pagine differenti, opportunamente da collocare in un
frame nascosto (avente una delle dimensioni pari a 0) di cui la prima
funge da "indice", e le altre da riferimento. In questo modo:
var case_select
if case_select="a" {self.location="parteuno.htm"}
if case_select="b" {self.location="partedue.htm"}
if case_select="c" {self.location="partetre.htm"}
...
...
Spero di essere stato abbastanza chiaro.
Ciao!
Davide
-- 
Volontario Anti-Troll (TM) 
SecurFaq: 
http://members.nbci.com/gouldukat/
DocTrolls: 
http://it.geocities.com/roccopapaleo/faq/italiano/Troll.html
Netiquette: 
http://www.inferentia.it/netiquette/dis.html

lato server puoi usare include (occhio però che se sono troppi rallentano
vistosamente il caricamento della pagina)


E proprio questo il problema, dovrei includere un file.js a seconda del
case, ma mi sa che la cosa almeno come l'ho pensata io non è fattibile,
daltronde mi sa che non posso lasciarlo neanche così come è per ora, il .js
esterno pesa 120Kb
Ti viene in mente qualcos'altro?
Grazie per la disponibilità

 vistosamente il caricamento della pagina)
Purtroppo ho la necessità di farlo lato client?
Ti viene in mente qualche soluzione?

ahimé no

 il file č cosě grande perchč gli passo un parametro e con uno Switch


 wrote:

Con la fortissima limitazione che funziona solo con IE e non
mi ricordo se solo dalla 5 in poi.
Dovrebbe (ma non ) funzionare anche con il ns6 ma e'un baco
in via di risoluzione credo.
perche'  non variare il src di eventuali piccoli script
esterni preparati nel flusso della pagina ?
accettano id e si puo' leggere il relativo readyState

accettano id e si puo' leggere il relativo readyState
Forse potevo fornire un piccolo esempio...
mi creo due script js esterni
che salvero' come script1.js e script2.js
il primo un semplice
alert('ciau, ho occupato pippuz!\nsono il  primo')
e analogamente
alert('ciau, ho occupato pippuz!\nsono il secondo')
ora la pagina
<HTML>
<HEAD>
<TITLE> test caricamento script esterno al bisogno </TITLE>
<script language="javascript"src='' id=pippuz>
</script><script language="javascript">
function nome(m){
document.getElementById('pippuz').src=m
alert(document.getElementById('pippuz').readyState)}</script>
</HEAD>
<BODY>
<form>
<input type=button onclick=nome('script1.js')>
</form>
<form>
<input type=button onclick=nome('script2.js')>
</form>
</BODY>
</HTML>

 vari file.js e caricarli a seconda del verificarsi di determinate
Per Netscape puoi variare la proprietà SRC di un DIV, mentre per IE (che 
non supporta SRC per i livelli) puoi cambiare il SRC di un IFRAME.
Per vedere come funziona guarda il tutorial: 
http://www.jspoint.it/tutorials/inclusioni.asp
Come leggerai dall'introduzione l'ho scritto per rispondere ad una 
domanda simile alla tua.
D' una soluzione abbastanza comoda da gestire per i vari pezzetti di file 
.js, ma risulta un po' macchinosa per puntare agli oggetti.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
              All the JavaScript you need
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

funziona su NN 4.7, NN 6, IE 5.5


Grazie per la disponibilità
Spupazzati
http://212.41.206.236/sicumain/catalogo/index.htm
l'ho fatto io.
Se guardi la ricerca per articolo, è fatta in js, è un riferimento ad un
indice che analizza la stringa inserita e, in base alla prima cifra,
redirige verso una pagina dove sta l'effettivo script di ricerca per
quella serie di articoli. In sostanza:
Stringa inserita= "110"
Prima cifra= "1"
chiama parte1.htm e gli passa "110"
Cerca "110" in archivio di parte1.htm
tieni presente che il mio file .js originario era di 440Kb.
E' l'applicazione del metodo che ti ho descritto nel mio precedente
post.


Ringrazio tutti i WM che mi hanno risposto, lo faccio in un'unica e-mail
perchè( non so come mai?) attualmente inwind non mi fa più scaricare i
messaggi
di questo news, come fate a inviarli direttamente dalla pagina del post? Io
clicco su Reply e invio la mail ma dopo pochi secondi mi arriva un'e-mail di
delyvery status, in cosa sbaglio?
Tornando al mio problema attualmente sembra non dare problemi includendo
l'SRC nei vari Case, l'ho testato con I.E 5.5 e N.N. 4.7
Grazie ancora a tutti per la collaborazione
