Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Firefox vs IE

  1. #1

    Firefox vs IE

    Sto cercando di rendere accessibili alcuni miei siti anche con browser diversi da IE (lo so, è vergognoso non averlo ancora fatto...)

    Molte difficoltà si superano con un po' di pazienza, ma qui mi sono impiantata: chiamata di una funzione javaScript presente all'interno di un frame diverso dal corrente.

    Esempio funzionante in IE:
    parent.frames('myFrame').myFunction (param1, param2, ...);

    Esempio NON funzionante in firefox:
    parent.document.getElementById('myFrame').contentD ocument.myFunction (param1, param2, ...);

    Aiuuuuto !!!
    Grazie !
    Mia

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Difficile rispondere senza sapere cosa sono tutti quegli oggetti.

    In particolare contentDocument che oggetto e`?

    Cosi` d'istinto io scriverei:
    parent.getElementById('myFrame').document.myFuncti on (param1, param2,..);

    oppure:
    parent.myFrame.document.myFunction (param1, param2,..);
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Grazie Mich_ per la risposta :-)

    contentDocument è semplicemente (così mi pare di aver capito) l'oggetto che il DOM di firefox mette a disposizione per accedere al documento contenuto da un elemento interno, tipo un frame.

    Infatti avevo già provato le strade che tu mi suggerisci, facendo l'amara scoperta che il modello ad oggetti di Firefox non prevede la proprietà document per i contenuti di un frame. Mi sembra strano, eppure sembra proprio così, infatti c'è contentDocument che, per altri tipi di oggetti (es. riferimenti a elementi <DIV>) funziona correttamente... però per gli script niente da fare.

    Non so proprio come girare la questione, l'idea di dover scrivere degli script diversi per ogni pagina che fanno la stessa cosa non mi piace per niente, ma non trovo alternative.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se non ci dai elementi su cui possiamo pensare qualcosa per aggirare il problema, non credo potremo aiutarti.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ok Mich_, mi sembra giusto.
    Ho creato due piccole pagine al fine di sintetizzare al massimo il problema. Ecco qui:

    --- contenuto di pagina1.asp ---

    <%@ Language=VBScript %>
    <html>
    <head>
    <script language='javaScript'>
    function testlocal() {
    // -- questo funziona con IE, con fireFox
    document.frames('testFrame').test();

    // -- questo non funziona con nessuno dei due
    // document.getElementById('testFrame').test();

    // -- questo nemmeno
    // document.getElementById('testFrame').contentDocume nt.test();
    }
    </script>
    </head>
    <body>
    pagina uno
    <input type='button' onclick='javaScript: testlocal();'
    value='esegui lo script interno'>


    <iframe id='testFrame' src='pagina2.asp'></iframe>
    </body>
    </html>

    --- contenuto di pagina2.asp ---

    <%@ Language=VBScript %>
    <html>
    <head>
    <script language='javaScript'>
    function test() {
    alert ('Script interno eseguito');
    }
    </script>
    </head>
    <body>
    pagina due
    <input type='button' onclick='javaScript: test();'
    value='prova script interno'>
    </body>
    </html>

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e' contentWindow, non contentDocument
    perche' quando richiami una funzione sottintendi l' oggetto window
    onclick="funzione()" equivale a
    onclick="window.funzione()"

    se vuoi approfondire leggi qui chi e come usa contentDocument/contentWindow
    ciao

  7. #7
    mi-ti-co, funziona perfettamente
    grazie stragrazie !

    Non puoi sapere quanto avevo girovagato nei siti di mia conoscenza alla ricerca di informazioni riguardanti questi aspetti del DOM, ma contentWindow non era mai venuto fuori... e il bello è che funziona anche in explorer...

    Mi sa che dovrò frequentarvi un po' più spesso
    Mia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.