Newsgroup: it.comp.lang.javascript
Titolo: importare script da file esterni

Ho letto i recenti msg aventi il thread "importare script da file
esterni".
Ho provato la soluzione suggerita da The Fly On The Net:
<script language="JavaScript" src="script.js"></script>
e, ovviamente, funziona.
Il problema sorge quando tento di utilizzare come valore per il
parametro src non una stringa (il nome del file da importare) ma una
variabile stringa precedentemente calcolata o inizializzata:
Nell'HEAD:
<SCRIPT language="Javascript">
var NomeFile="script.js"
</SCRIPT>
Nel BODY o nell'HEAD dopo lo script precedente (ho provato in entrambe
i modi!):
<script language="JavaScript" src=NomeFile></script>
IE e NS si rifiutano categorigamente di funzionare e mi segnalano vari
errori. Anche se li prego in ginocchio... :-)
La cosa mi serve per visualizzare un file di testo diverso in funzione
del valore assunto dalla variabile NomeFile. Tale valore viene SEMPRE
calcolato nello script del body PRIMA di tentare l'include.
Ho gia' verificato con degli alert il giusto valore di NomeFile
piazzando questo codice prima dello script che tenta l'include:
<SCRIPT language="Javascript">
alert(NomeFile);
</SCRIPT>
Sono io che sbaglio o la cosa e' del tutto impossibile???
In alternativa, e' possibile inserire in uno script dei comandi che
importino il file esterno? esemplifico:
<SCRIPT language="Javascript">
primo comando script
secondo comando script
comando che include il file esterno (contenente comandi script)
altri comandi script
</SCRIPT>
Peppe.
gbu...@REMOVEMEtiscalinet.it

probabilmente non è possibile accedere a questa funzione tramite variabili
... puoi sempre fare un file.js di indice e poi assegnare dei nomi
prestabiliti ai reali file che verranno aperti dalle opportune pagine
Saluti, Vittorio
Peppe <gibu...@REMOVEMEtiscalinet.it> wrote in message
392cdb8...@news.tin.it...


prestabiliti ai reali file che verranno aperti dalle opportune pagine
qui non ti seguo. Indice di cosa...  puoi farmi un esempio step by
step di cosa intendi?
Ciao e grazie.
Peppe.
gbu...@REMOVEMEtiscalinet.it





Comment: PGP key 
http://asp4free.ravenna2000.it/neowebsite/pubkey.asc
iQA/AwUBOS0C/IyQcjk1tK2MEQLlYQCgwc5dLRWaLkBw++Q0Km9Euqqkj9oAn2G6
sIqpstAcMfpqfZPrQwGpYYPr
=eAhN
-----END PGP SIGNATURE-----

per accedere con variabile a file .js vedi un po' tu se trovi modo, io
adesso ci ho provato ma non funziona.
Per l'altra soluzione valuta il numero di file che devi gestire ... io
pensavo ad un file indice.js in cui indichi un numero ed una descrizione
abbinata che ti serve per creare una pagina aggiornata e completa poi al
click vai a caricare il file htm con inserito il relativo file.js utile
testo1.htm  con src="file1.js"
...........
testo11.htm  con src="file11.js"
I file html sono uguali se non per il file che richiamano
Se i testi sono brevi ci metti tutto in un solo file .js e poi in base alla
selezione gestisci quello che serve ...
Io non conosco il tuo problema e quindi mi vien difficile proporre una mia
soluzione.
Saluti, Vittorio
Peppe <gibu...@REMOVEMEtiscalinet.it> wrote in message
392d07fa...@news.tin.it...


Ho provato sia la tua soluzione che quella suggerita da Alessandro
Palmieri.
Nel primo caso (Daniele) IE mi risponde "errore di sintassi" e NS
semplicemente non mi viusualizza nulla, nemmeno l'output che ho
normalmente con il codice che precede la modifica.
Nel secondo (Alessandro) IE mi risponde "costante stringa senza
terminazione" e NS non visualizza nulla.
Voi le avete provate le soluzioni suggerite? vi hanno funzionato? io
ho fatto un puro cut & paste dai vostri messaggi e solo dopo aver
riscontrato il mancato funzionamento ho provato fare piccoli
cambiamenti (tipo gli apici e i ritorni a capo) ma senza alcun
successo..
Segnalo che non uso piu' alcun editor HTML, salvo che per la
generazione della pagina vuota, ma ho ripreso il buon vecchio editor
PFE che mi ha fedelmente servito per anni con il codice Clipper.
Grazie comunque, risolvero' cambiando la logica dell'applicazione a
meno che qualcuno non riesca a trovare la soluzione. Potrebbe essere
utile per molti.
Peppe
gbu...@REMOVEMEtiscalinet.it


Saluti, Vittorio
Ciao e grazie da Peppe
gbu...@REMOVEMEtiscalinet.it

 codiceprodotto.htm (la scheda).
Stavo pensando di proporti proprio questo ... io ho fatto proprio cosě nel
mio WEB
www.ampec.it/ita/
  navigando e visualizzando i prodotti viene inserito in
modo automatico il loro codice nella casella di input centrale se poi si
preme la freccia azzurra viene visualizzata la scheda del prodotto, č
possibile anche manualmente inserire un codice prodotto manualmente e quindi
vedere lo stesso ... se vuoi provare digita H1 oppure Haca
Saluti Vittorio

Ciao,
Non l'ho provato ma ho gią capito dove sta il tuo problema ;-)
<script language = "Javascript">
NomeFile = "Script.js"
document.write ("<script language = 'Javascript' src = '" + NomeFile
+"'></script>");
</script>
la riga del document.write finisce al ;
Nel mio messaggio precedente era spezzata...
Copia questa qui sopra ;-) Vedrai che funziona ;-)
A Presto.
Alex.
"Peppe" <gibu...@REMOVEMEtiscalinet.it> ha scritto nel messaggio
news:392f4786...@news.tin.it...


<script language = "Javascript">
NomeFile = "Script.js"
document.write ("<scr"+"ipt language = 'Javascript' src = '" + NomeFile
+"'></scr"+"ipt>");
</script>
Oltre a seguire i suggerimenti di Alex, prova anche a spezzare (come ti ho messo qui sopra) il  tag html in document.write( ), in
quanto potrebbe creare confusione nel parser.
Ciao.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<?xml version="1.0" encoding="UTF-8"?>
<sign>
<author>the fly on the net</author>
<description>il webmaster più alto del mondo </description>
<a href="
http://www.probo.it/aoj
">Art of JavaS.</a>
<a href="
http://www.devil-inside.net/
">the devil inside</a>
<a href="mailto:
net...@netbusiness.it
">e-mail</a>
</sign>


Puoi provare cosě (non so se funzionera', ma credo di si'):
...
<script language="Javascript">
document.writeln('<script language="Javascript"
src="'+NomeFile+'"></'+'script>')
</script>
...
Attenzione che     </'+'script>'     va' proprio scritto cosi', altrimenti
se si scrive </script>
direttamente dentro al     document.writeln    viene interpretato (credo)
dal browser come
effettiva chiusura dello script piu' esterno.
Pierangelo

quanto potrebbe creare confusione nel parser.
Intanto un grazie a tutti coloro che mi hanno aiutato: Alex, Fly, Neo,
Vittorio, Pier... e chiedo scusa se dimentico qualcuno.
La sintassi suggerita da Fly funziona P E R F E T T A M E N T E! e mi
permette quindi di fare un include dinamico in fase di generazione
pagina.
Ma non pensate che sia finita qui... :-)
Adesso quando un utente clicka sulla voce di una tabella con l'elenco
prodotti si apre correttamente la schermata informativa sul prodotto.
Durante la sua generazione effettuo l'include del file
codiceprodotto.js (dove codiceprodotto è calcolato precedentemente);
tale file di include contiene alcuni comandi javascript (generazione
di una tabella con una unica cella dove viene visualizzata la scheda
tecnica del prodotto selezionato).
Dopo l'include sono presenti altri comandi Javascript. Esemplifico:
<SCRIPT language="Javascript">
document.write ("<scr"+"ipt language = 'Javascript' src = '" +
inprodotto[0].pro_cod + ".js" + "'></scr"+"ipt>");
</SCRIPT>
<SCRIPT language="Javascript">
document.write(questo e quell'altro...);
document.write(questo e quell'altro ancora...);
</SCRIPT>
Sia con IE che con NS tutto funziona correttamente se il file di
include esiste fisicamente.
Se pero' il file non esiste c'e' una fastidiosa differenza di
comportamento tra IE, che esegue correttamente il codice del secondo
script, e NS, che non lo esegue (il secondo script, intendo) o, a
volte, stampa a video una parte del codice come se si trattasse di
caratteri da visualizzare e non di comandi Javascript.
Il problema, pur non grave (in fondo le schede tecniche debbono
esistere per tutti i prodotti e comunque se ne possono creare di
standard tipo "Scheda non disponibile e se proprio la vuoi allora
suicidati...") è fastidioso: viene meno, infatti, la possibilità di
scrivere solo alcune schede ma si e' obbligati a scriverne comunque
una per ogni prodotto.
Ripeto, per me non e' un grave problema in quanto lo scopo che mi
prefiggevo era di non far scaricare tutte le schede prodotto con un
unico file (l'applicazione e' totalmente client side) ma solo quelle
richieste dall'utente, per accorciare i tempi di download (le schede
possono essere parecchio lunghe e calcolando che si potrebbe arrivare
anche ad un centinaio o piu' di prodotti...)
Suggerimenti? io credo che si tratti di uno di quei casi in cui la
forma sintattica deve essere costruita sulla base di un controllo
preventivo sul tipo di browser utilizzato per il collegamento... ma,
appunto, qual'e' la sintassi corretta per NS? 
Ovviamente chi volesse darmi del rompiscatole guarda questo che non si
accontenta mai... avrebbe tutta la mia solidarieta' :-)
Saluti da Peppe.
gbu...@REMOVEMEtiscalinet.it


Comment: PGP key 
http://asp4free.ravenna2000.it/neowebsite/pubkey.asc
iQA/AwUBOS4/JIyQcjk1tK2MEQIxUgCeNMOrSKWed+BatzwEyIwI9QN45FUAoNTv
SWAfHkarNjCcz6W8GEJvI5v0
=DODT
-----END PGP SIGNATURE-----