Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema supporto DOM su IE6?

    Qualcuno di voi riuscirebbe a dirmi perché questo script funziona bene su Firefox ma non su Internet Explorer 6.0??

    Ho verificato tutte le funzioni utilizzate e sono ampiamente supportate da IE!
    :master:


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
    .selected {
    font-weight:bold;
    color:#339900;
    background-color:#FFFFCC;
    }
    </style>
    <script language="javascript" type="text/javascript">
    function sceltaMenu(label) {
    // CONFIGURAZIONE: INSERIRE L'ID DEL MENU
    var idmenu = "menusx";

    // controllo se il browser supporta il DOM di livello 1 del W3C
    if(document.getElementById) {
    // normalizzo la stringa di input
    var pointer = label.toString();
    var objmenu = document.getElementById(idmenu).getElementsByTagNa me('a');
    if (1==1){
    var i = 0;
    var dimmenu = objmenu.length;
    for (i=0; i<dimmenu; i++){
    var tagA = objmenu[i].firstChild.nodeValue;
    // normalizzo anche il valore della label del menu
    var tagAs = tagA.toString();
    if (tagAs.toLowerCase()==pointer.toLowerCase()) {
    objmenu[i].parentNode.setAttribute("class", "selected");
    }
    }
    }
    return;
    }
    else {
    alert("DOM non Supportato!");
    return;
    }
    }
    </script>
    </head>

    <body onload="javascript:sceltaMenu('natura');">
    <ul id="menusx">[*]introduzione[*]montagne[*]valichi e trafori[*]natura[*]storia[*]cultura[*]terra e sapori[*]persone[*]sport[/list]



    altro testo...</p>
    </body>
    </html>


    Grazie!
    ------------------------
    Ciauz!

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    if (1==1){ :master: ???

    secondo me è meglio se posti un link alla pagina...
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3

    Re: Problema supporto DOM su IE6?

    Originariamente inviato da CCC
    Qualcuno di voi riuscirebbe a dirmi perché questo script funziona bene su Firefox ma non su Internet Explorer 6.0??

    Ho verificato tutte le funzioni utilizzate e sono ampiamente supportate da IE!
    :master:


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
    .selected {
    font-weight:bold;
    color:#339900;
    background-color:#FFFFCC;
    }
    </style>
    <script language="javascript" type="text/javascript">
    function sceltaMenu(label) {
    // CONFIGURAZIONE: INSERIRE L'ID DEL MENU
    var idmenu = "menusx";

    // controllo se il browser supporta il DOM di livello 1 del W3C
    if(document.getElementById) {
    // normalizzo la stringa di input
    var pointer = label.toString();
    var objmenu = document.getElementById(idmenu).getElementsByTagNa me('a');
    if (1==1){
    var i = 0;
    var dimmenu = objmenu.length;
    for (i=0; i<dimmenu; i++){
    var tagA = objmenu[i].firstChild.nodeValue;
    // normalizzo anche il valore della label del menu
    var tagAs = tagA.toString();
    if (tagAs.toLowerCase()==pointer.toLowerCase()) {
    objmenu[i].parentNode.setAttribute("class", "selected");
    }
    }
    }
    return;
    }
    else {
    alert("DOM non Supportato!");
    return;
    }
    }
    </script>
    </head>

    <body onload="javascript:sceltaMenu('natura');">
    <ul id="menusx">[*]introduzione[*]montagne[*]valichi e trafori[*]natura[*]storia[*]cultura[*]terra e sapori[*]persone[*]sport[/list]



    altro testo...</p>
    </body>
    </html>


    Grazie!
    non esiste class in IE bensì className
    puoi ottenere l'uno o l'altro con i commenti condizionali:

    codice:
    var cn=”class”;
    
    /@cc_on
    
    cn="className";
    
    @/
    
    objmenu[i].parentNode.setAttribute(cn, "selected");

  4. #4
    La condizione 1==1 è ovviamente un segnaposto per imporre una condizione in futuro...


    Purtroppo non posso postare il link ad una pagina on-line perché ho l'IP bloccato per il protocollo FTP (sono al lavoro...).
    ------------------------
    Ciauz!

  5. #5

    Risolto!

    Siccome IE6 non accetta con setAttribute la proprietà "class", occorre inserire entrambe le definizioni:

    objmenu[i].parentNode.setAttribute("class", "selected");
    objmenu[i].parentNode.setAttribute("className", "selected");

    Ciao

    ------------------------
    Ciauz!

  6. #6

    Re: Risolto!

    Originariamente inviato da CCC
    Siccome IE6 non accetta con setAttribute la proprietà "class", occorre inserire entrambe le definizioni:

    objmenu[i].parentNode.setAttribute("class", "selected");
    objmenu[i].parentNode.setAttribute("className", "selected");

    Ciao

    ripeto cosi' non va' bene, non dovresti usare setAttribute su attributi non esistenti,
    usa i commenti condizionali come ho scritto sopra in modo che solo IE usi className.

  7. #7
    Grazie kentaromiura, ho provato con i commenti così come mi hai detto, ma non ha funzionato. Pensando di avere sbagliato la sintassi ho provato a cercare su Google qualcosa sui commenti condizionali dentro codice javascript, ma non ho trovato nulla.

    Potresti darmi qualche riferimento online?
    ------------------------
    Ciauz!

  8. #8
    Originariamente inviato da CCC
    Grazie kentaromiura, ho provato con i commenti così come mi hai detto, ma non ha funzionato. Pensando di avere sbagliato la sintassi ho provato a cercare su Google qualcosa sui commenti condizionali dentro codice javascript, ma non ho trovato nulla.

    Potresti darmi qualche riferimento online?
    devi usare i commenti cosi' come sono, non togliere
    /*@cc_on
    e nemmeno
    @*/
    quel codice viene visto solo da IE.
    comunque ecco:
    http://mykenta.blogspot.com/2006/04/...ute-on-ie.html


    qui dovrebbero esserci tutti i casi possibili in cui IE si comporta male.

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.