Newsgroup: it.comp.www.asp
Titolo: [?] JScript e RUNAT=server

Vi descrivo la situazione perché é bizzarra:
ho un file .asp da includere in tutte le pagine di un sito; per renderlo
compatibile indipendentemente dal linguaggio usato dalla pagina chiamante ho
usato <script language='JScript' RUNAT=server>
All'interno di questo file ci sono alcune variabili globali e alcune
function.
Se includo il file in una pagina VBScript funziona tutto regolarmente; se
includo invece in una pagina JScript esegue correttamente le function ma NON
carica le variabili globali.
Per spiegarmi se nel mio file da include ho var pippo="prova";
E nella pagina che lo include metto Response.write(pippo) <= se fatta con
VBScript scrive "prova", se fatta con JavaScript scrive "undefined"....
Non posso sostituire <script language='JScript' RUNAT=server> con <%....%>
perché con VBScript, ovviamente, non funziona (si aspetta linguaggio
vbscript laddove c'è JScript!).
Anziché include ho provato con Server.Execute ma è ancora peggio: le
variabili create non vengono considerate dalla pagina chiamante (e neanche
le function)...
Non so che fare, dovrei fare 2 include diversi a seconda del linguaggio ma è
un po' un macello per me...
Tra l'altro mi aspettavo magari un comportamento strano tra 2 linguaggi
diversi, ma sembra che tra VBcript e JScript funzioni tutto correttamente
mentre tra JScript e JScript no...
Qualche idea su questo stranissimo comportamento?
Grazie a tutti in anticipo.

 Qualche idea su questo stranissimo comportamento?
Non so quale sia la causa del problema
ma  se le funzioni sono eseguite correttamente
potresti inserire le variabili globali in funzioni
ad esempio al posto di:
var MiaVariabile = 15;
si potrebbe usare
function MiaVariabile(){return 15;}
Ciao
Fabio

Ci ho pensato: includo e chiamo la function che crea le variabili; ma se le
creo all'interno di una function non sono più globali...

 wrote in message
news:9onn5o$s4l$1...@fe1.cs.interbusiness.it...


 Response.Write(getPippo());    => generera' "prova"
Faccio l'include (con var pippo="prova"); dopo l'include scrivo
Response.write(pippo) => genera "undefined"....
non mi sembra corretta la cosa...ma forse mi sbaglio? Dici che è corretta?
Come posso rimediare? (ho sempre usato una sintassi di questo tipo, solo che
non con <script language='JScript' RUNAT=server> ma sempre con <%.....%>)
Grazie.

 wrote in message
news:9p253a$oq0$1...@fe1.cs.interbusiness.it...



E' vero non sono globali ma la funzione creata sě.
Infatti dovresti utilizzare solo il valore restituito dalla funzione.
quindi data la dichiarazione di funzione:
function MiaVariabile(){return 1936.27;}
se poi nel codice devi calcolare il controvalore in euro di una cifra
scrivi:
controvalore_euro = valore_lire / MiaVariabile();

> function MiaVariabile(){return 1936.27;}
Questa può essere un'idea...
Grazie, se non trovo altro modificherò tutto lo script in questo modo.

 <%@ LANGUAGE = scriptengine %>
E' proprio questo il problema: NON posso usarlo perché é un include e
segnala errore (perché questa direttiva deve essere la prima della linea).
Esiste una sintassi che, in teoria, č uguale (script language='JScript'
RUNAT=server) ma che ha questo problema delle variabili (cioč: le variabili
globali non vengono considerate da JScript, mentre da VBScript sě).


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La piu' grande community italiana di sviluppatori!

 wrote in message
news:9p2an7$1ec$1...@lacerta.tiscalinet.it...


 wrote in message
news:9p97cq$ga3$1...@fe2.cs.interbusiness.it...


Ho un sito dove N pagine sono fatte in vbscript (vecchie pagine) e altre in
JScript (nuove pagine).
Ho un include che contiene una function che serve a visualizzare i prezzi
nella valuta corrente scelta dall'utente.
La function č abbastanza complessa (fa altro oltre al semplice calcolo); la
ho fatta in JScript perché a me tornava piů comodo pensando appunto di
poterla includere senza problemi e richiamarla da entrambi i linguaggi.
Il default lo setto sempre all'inizio della pagina, in IIS č vbscript.

Uhm
<script language='VBScript' RUNAT=server>
.....mie variabili....
</script>
<script language='JScript' RUNAT=server>
....le uso....
</script>
A questa non avevo pensato
Provo, grazie