Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524

    Compatibilità Javascript

    Ciao, ho fatto un script in javascript però ho paura delle sue imcompatibilità. Alcuni broser per richiamare per esempio l'id di una tabella per poi metterci del html, utilizzano diverse sintassi.


    Come posso rendere questa riga compatibile per tutti i broser?

    codice:
    document.all.tabellas.innerHTML

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ciao Neocron,
    la compatibilità totale con innerHTML non può esserci:
    - NN4 è vincolato al fatto che il livello sia in posizionamento assoluto e vuole una sintassi completamente diversa
    - opera supporta innerHTML solo dalla versione 7,
    per versioni precedenti non ci sono scappatoie

    tenuto conto di queste eccezioni (NN4 è il solo ad usare document.layers)
    codice:
    <script type="text/javascript">
    function el(name_ID){
    	return (document.all)?document.all[name_ID]:(document.layers)?document.layers[name_ID]:document.getElementById(name_ID)
    }
    
    function scrivi_in(tuo_id, cosa){
    	if(document.layers){
    		el(tuo_id).document.write(cosa)
    		el(tuo_id).document.close()
    	}
    	else if(typeof(el(tuo_id).innerHTML)!='undefined'){
    		el(tuo_id).innerHTML=cosa
    	}
    	else alert('funzione non supportata dal browser in uso')
    }
    </script>
    <div id="contenitore" style="position:absolute;top:100px;left:100px">bye</div>
    scrivi: ciao
    x completezza, il supporto dei browser diversi da IE all' innerHTML è solo di convenienza, non è una proprietà ritenuta standard (vedi approccio w3c)

  3. #3
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    grazie xinod, ma non funge...

    guarda qua:

    codice:
    function el(name_ID){
    	return (document.all)?document.all[name_ID]:(document.layers)?document.layers[name_ID]:document.getElementById(name_ID)
    }
    
    function scrivi_in(tuo_id, cosa){
    	if(document.layers){
    		el(tuo_id).document.write(cosa)
    		el(tuo_id).document.close()
    	}else if(typeof(el(tuo_id).innerHTML)!='undefined'){
    		el(tuo_id).innerHTML=cosa;
    	}
    }
    
    
    
    function prova() {
    
    var  testo_da_scrivere= 'provella';
    
    scrivi_in("ciao",testo_da_scrivere);
    }

    a me nn funge nulla, sicuramente è un problema di ambito...
    sei sicuro che il tuo script funzioni correttamente?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    con i div funziona con tutti i browser con cui ho provato
    tu assegni l' id ad un td?

  5. #5
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524
    si ma nn vuole proprio fungere...

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    x sicurezza ho fatto una prova volante su ie6 e moz1.5 e funziona
    se il problema ce l' hai in una pagina con solo quello non saprei,
    se la pagina è + complessa lascia il link che diamo un' occhiata

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 © 2024 vBulletin Solutions, Inc. All rights reserved.