Newsgroup: it.comp.lang.javascript
Titolo: Frames e Flash

Salve, ho un problema con del javascript e non so come risolverlo. Il problema è che il codice viene correttamente eseguito da explorer 5.00 ma viene ignorato da Netscape 4.73.
Ho una pagina con tre frame: 1 frame a sinistra [0] detto leftFrame;
la parte destra è suddivisa in altri due frames: una barra superiore (topFrame) e la pagina centrale mainFrame.
In leftFrame e in topFrame sono presenti due files flash contenenti dei menu.
Cliccando su un determinato pulsante di questi files viene caricata una pagina in main Frame e questa pagina contiene il seguente script
<script language="JavaScript">
<!--
top.frames[0].menu(3);
top.frames[1].andare(3)
-->
</script>
menu e andare sono due funzioni definite negli header delle pagine contenute in topFrame ed in leftFrame
nello specifico, nella pagina in topFrame c'è:
<script language="javascript">
<!--
function andare(X) {
window.document.menu_alto.GotoFrame(X);
window.document.menu_alto.Play()
}
-->
</script>
dove  menu_alto è l'ID del file flash contenuto nella pagina,
e nella pagina contenuta in leftFrame c'è:
<script language="JavaScript">
<!--
function menu(X) {
window.document.menu_lato.GotoFrame(X);
window.document.menu_lato.Play()
}
-->
</script>
dove menu_lato è l'ID del file flash contenuto nella pagina.
Qualcuno sa come devo modificare lo script per farlo andare su tutti e due i browser, o, almeno, inserendo un riconoscimento del browser come modificare lo script per Netscape?
Il sito, se qualcuno è così gentile da testarlo è visibile all'URL:
http://www.iperbole.bologna.it/iperbole/calvino
Grazie anticipatamente
Giuseppe Foti



 Il sito, se qualcuno è così gentile da testarlo è visibile all'URL:
Ci ho fatto un salto or ora con Explorer 5 (Mac), ma è subito saltato
fuori un errore che il debugger indica come "Proprietà o metodo non
supportato dall'oggetto". La riga segnalata è:
window.document.menu_lato.GotoFrame(X);
...e siccome ben conosciamo la "permissività" di IE, non è da escludere
che una volta aggiustato il codice il sito divenga compatibile anche con
NS.
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

marcoc...@tyn.it
 (Catarsi) wrote:
Salve, su una ML mi hanno consigliato di modificare la riga 
window.document.menu_lato.GotoFrame(X);
con
top.nomedelframe.menu_alto.GotoFrame(X);
ma il isultato che ottengo è esattamente lo stesso, il codice funziona con IE 5 per win (non so per Mac)
ma non va con Netscape 4.7
Non sai come potrei provare a modificare questo codice?
Grazie


 Non sai come potrei provare a modificare questo codice?
Francamente no, sorry. Quel che posso dirti con certezza è che la tua
home (posto che l'html+js divengano prima o poi "impeccabili") non ha
motivo di non funzionare con NS. Hai tre frame, niente di strano dunque;
il fatto che tu vi abbia inserito delle animazioni non ha alcuna
rilevanza. NS 4.x, dotato del plugin adatto, vede il filmati Flash come
e meglio di IE.


e meglio di IE.
SINCERAMENTE NON CREDO CHE IL PROBLEMA SIA NEL FILE FLASH MA NELLA SINTASSI DEL JS,
 CIOE' PENSO (IPOTIZZO) CHE PROBABILMENTE PER MANDARE IL VALORE DELLA VARIABILE AD UNA FUNZIONE PRESENTE
SU UNA PAGINA CHE E' SU UN ALTRO FRAME LA SINTASSI CHE USO SIA SBAGLIATA,
OPPURE (E QUI IL SOSPETTO SI INGIGANTISCE) NETSCAPE NON CAPISCE CHE COSA E' menu_lato, ADESSO PROVO, COME MI HA SUGGERITO QUALCUNO AD INSERIRE L'ID ANCHE 
ALL' EMBED, MA LA COSA MI SEMBRA MOLTO STRANA.
COMUNQUE GRAZIE E SE TI VIENE IN MENTE QUALCOSA FAMMI SAPERE 

 NON CAPISCE CHE COSA E' menu_lato,
Non sono andato a guardare il sito o a sbirciare gli script, però ho notato
spesso che NS si trovi in difficoltà con ID che contengono il carattere "_
".
Maurizio.

</script>
Prova cosi':
function andare(X) {
top.frames["nome del frame"].menuAlto.GotoFrame(X);
top.frames["nome del frame"].menuAlto.Play()
}
--
Ciao
  [[web].
www.gfcarlotti.it
]
  [[mail].
fra...@gfcarlotti.it
]

Ho provato a modificare i nomi eliminando il caratter "_" ma sembra che non vada lo stesso.
Grazie


}
Ovviamente intendevo
function andare(X) {
top.frames["menu_alto"].GotoFrame(X);
top.frames["menu_alto"].Play()
}
Scusate la sbadataggine.


Cosě non funziona nemmeno su IE per win, mentre se scrivo
window.document["menu_alto].GotoFrame(X);
...
ottengo il solito risultato, ok per IE nulla di fatto per Netscape
Grazie e ciao
