Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    FIREFOX - problemi a raggiungere oggetti e metodi dell'iframe

    ciao.
    Proprio non capisco come far funzionare il mio codice su firefox. Su IE funziona perfettamente.
    Ho un iframe
    Codice PHP:
    <iframe id="indexFrame" src="indexFrame.php" scrolling="no" name="indexFrame" height="100%" width="100%" frameborder="no" scrollbar="no"></iframe
    in questo iframe ho questo codice
    Codice PHP:
    <STYLE>
      
    #pop {
      
    position:absolute;
      
    width:300px;
      
    height:150px;
      
    border:1px solid black;
      
    background-color:#BBD3ED;
      
    font-family:Verdana;
      
    font-color:#000000;
      
    font-size:11px;
      
    line-height:15px;
      
    cursor:default;
      
    z-index:4;
      
    filter:alpha(opacity=40);
      
    visibility:hidden;
    }
    </
    style>

    <
    div id="pop">
    <
    div class="menuitems" url="#" id="testo">Start</div>
    </
    div>
    function 
    showMenu(menu,tx){
      
    menu.style.left 390;
      
    menu.style.top =  88;
      
    menu.style.visibility="visible";
      
    menu.innerHTML tx;
      return 
    false;

    }

    function 
    hidemenu(menu){
      
    menu.style.visibility="hidden";

    questo menu e' invisibile. Dalla pagina madre, andando col mouse su un bottone boglio farlo visibile e all'onmouseout lo rendo invisibile.

    Il fatto e' che con IE
    Codice PHP:
    function inInfo(tx){
        if(
    loading){
            if(
    document.frames['indexFrame']){
                
    document.frames['indexFrame'].showMenu(document.frames['indexFrame'].pop,tx);
            }
        }
    }

    function 
    outInfo(){
        if(
    loading){    
            if(
    document.frames['indexFrame']){
                
    document.frames['indexFrame'].hidemenu(document.frames['indexFrame'].pop);
            }
        }

    Allora mi sono documentato...ma anche con document.getElementById('indexFrame') ....non riesco a raggiungere l'oggetto DIV che ha id='pop'.

    Dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    document.getElementById('indexFrame').contentWindow.nomeFunzione(document.getElementById('indexFrame').contentDocument.getElementById('pop'));
    questo e' il modo corretto (per i browser aderenti agli standard) di far riferimento al contenuto di un iframe, nota la differenza sostanziale nel riferirsi ad una funzione e ad un elemento nel documento

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    boh....cosi mi da errore anche su IE ....solito document...blalblabla e' nullo o non e' un oggetto

    mentre su firefox ora va....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    avrei anche bisogno se qualcuno gentilmente mi potesse fornire link a documentazioni appropriate per scrivere codice adatto a firefox e IE insieme.
    Sinceramente mi trovo spiazzato e pieno di errori a far andar tutto il mio lavoro su firefox.

    Ogni indicazione e' ben accetta.

    grazie

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da stiffa
    boh....cosi mi da errore anche su IE ....solito document...
    Originariamente inviato da Xinod
    modo corretto (per i browser aderenti agli standard)

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da stiffa
    avrei anche bisogno se qualcuno gentilmente mi potesse fornire link a documentazioni appropriate per scrivere codice adatto a firefox e IE insieme.
    Sinceramente mi trovo spiazzato e pieno di errori a far andar tutto il mio lavoro su firefox.
    qualche dritta sulle differenze
    http://www-128.ibm.com/developerwork...y/wa-ie2mozgd/

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    il link sembra sbagliato...non me lo apre

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    a me si',
    cmq quello che ti serve per fare funzionare quello che chiedevi e' gia' nel mio post

    se vuoi combinarlo con istruzioni solo per IE potresti fare x es. cosi'
    codice:
    function passa(ifrm,el){
    	var ifrmWin=(document.all)?document.frames[ifrm]:document.getElementById(ifrm).contentWindow;
    	var ifrmDoc=(document.all)?document.frames[ifrm].document:document.getElementById(ifrm).contentDocument;
    	var elRef=(document.all)?ifrmDoc.all[el]:ifrmDoc.getElementById(el);
    	ifrmWin.nomeFunzione(elRef)
    }
    codice:
    passa('id_iframe','id_elemento');

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.