Newsgroup: it.comp.lang.javascript
Titolo: Passaggio dati e Include di JS da un altro JS

Salve,
è la prima volta che scrivo su questo gruppo.
Premetto di avere conoscenze informatiche molto limitate.
Non biasimetemi quindi per la semplicità delle informazioni richieste.
Allora,
per lo sviluppo di una delle funzioni del mio sito personale
(classificazione e conseguente visualizzazione di fotografie), ho
bisogno di far leggere "selettivamente" gruppi di dati che ho pensato
di mettere in più JS (semplici assegnazioni di dati ad array).
Ciò per evitare di raccogliere tutti i dati in un solo script (posto
nell'header o nello stesso body), caricato all'apertura della pagina.
Ovviamente l'HTML della pagina è unico e caratterizzato da parametri
passati dal parent.
Vorrei quindi fare il load di uno tra tanti JS in funzione di uno dei
parametri della pagina.
L'unica soluzione che mi è venuta in mente è di mettere i tag
<SCRIPT> ... </SCRIPT> all'interno di una document.write, ma non sembra
andar bene. Avete consigli a proposito?
---
Altro argomento connesso: se ho una variabile complessa (array di array
di array ...) è possibile appoggiarla ad un'altra variabile senza aver
dimensionato quest'ultima preventivamente?
Mi spiego meglio. Se ho
  var AAA = new Array();
  AAA[1} = new Array(......);
  etc...
e definisco:
  var BBB = new Array();
Come scarico tutta AAA su BBB?
se scrivo semplicemente BBB = AAA, non va.
Grazie.
Tiberio Fanti

 andar bene. Avete consigli a proposito?
E' giusto,
dovresti fare una cosa cosi':
<script type="text/javascript">
//<![CDATA[
document.write( '<scr' + 'ipt type="text/javascript" src="file_' + num +
'.js?"></scr' + 'ipt>' );
//]]>
</script>

 se scrivo semplicemente BBB = AAA, non va.
Non va, non va...
va!
Solo che fa un'altra cosa rispetto quello che ti aspettavi
cioe' un assegnazione di quel tipo (in generale tra 2 Oject), non causa una
duplicazione del primo, ma un'assegnazione del riferimento del primo,
quindi BBB e' come se fosse AAA
quindi le variazioni che apporterai a uno dei 2 ne fa risentire anche
l'altro, perche' in realta' sono la stessa cosa, sono 2 variabili che
puntano allo stesso oggetto
per fare un clone di una Array, il primo modo che mi viene in mente e' il
seguente:
BBB = AAA.concat( );
forse ci sono dei contro, lo ignoro :(
Per sapere cosa in teoria fa, le lo lascio scoprire lasciandoti sbirciare
la reference:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:concat

Ignoro la ragione per cui si debba spezzare il tag SCRIPT.
Però se mi dici che funziona stasera farò una prova.
Grazie.

 
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:concat
Prima di consigliarne la lettura, dovresti in primo luogo "sbirciarla" te
:)
-- 
"Non è una guerra.. è uno sterminio.. loro stanno a noi come 
uomini contro i  vermi.. draghi contro i lupi.. 
O uomini che cavalcano draghi e lanciano lupi addosso ai vermi!"

 :)
in effetti :(
prima o poi provero' a trovarlo il tempo...

Confermo che la cosa, almeno su IE6 e FireFox, non funziona in tal
modo.
Io ho bisogno di fare, selettivamente (a seguito della verifica di una
condizione), la lettura di un JS tra tanti disponibili e poi assegnare
a una predefinita variabile il contenuto di una variabile contenuta nel
file appena caricato.
Es:
if ( cond=a) {
  carica il file JS_a;
  zzz = aaa; // aaa è definita in JS_a
}
else
{
  carica il file JS_b;
  zzz = bbb; // bbb è definita in JS_b 
}; 
Grazie, 
Tiberio

 Tiberio
Questo approccio e' fondamentalmente statico, cioe' lo puoi fare una volta
sola, altrimenti ti puoi affidare al caricamento dei dati attraverso un
(i)frame o una popup o attraverso una chiamata sincrona al server...

 in effetti :( prima o poi provero' a trovarlo il tempo...
Va beh, non ti dico tutta la reference, ma almeno le parti che tu
suggerisci agli altri di leggere, dovresti in primo luogo dargli
un'occhiatina non credi? ^_^;
Insomma, si presuppone che se qualcuno consiglia la lettura di un dato
argomento, è perché lui l'ha letto.. :)

 deep" copy that contains copies 
cut...
MINCHIA!!!!  Questa volta l'ho combinata grossa :P
Mi sa' che mi prendero' una pausa di riflessione.
Sono stato un po' tratto in inganno dal fatto che FF si comportava a "multi
level deep", in un "esempio numerico" che mi ero fatto...
Beh, ma come si fa a fare una copia completa di un array?

 Beh, ma come si fa a fare una copia completa di un array?
Fai una funzione che crei una nuova istanza con copie dei singoli elementi
invocando ricorsivamente la stessa funzione per gli elementi che sono a
loro volta array). Credo che il principio possa essere generalizzato
facilmente in modo di poter fare una "deep copy" di qualsiasi tipo di
oggetto. 
Max

Executing file 101 ... (questo messaggio è contenuto nel file caricato)
Ovvero: il dato letto è vuoto e l'esecuzione dello script da caricare
avviene a fie script chiamante.
Ugo ha scritto:


Concludo:
Avendo separato solo l'ultima istruzione (document.write('Dato letto:
'+read_data+'<br/>');)
col tag <SCRIPT> ... etc.
allora ottengo il risultato ateso, ovvero che read_data abbia il valore
sperato.
tiberio.fanti ha scritto:
