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

    Comportamento differente con FF e IE7 su appendChild()

    Ciao a tutti,
    ho un problema con del codice js che lavora correttamente du FF ma non su IE7: il mio obiettivo è quello di impostare una regola CSS solo e soltanto se JS è attivato sul browser.

    Questo il codice che ho scritto e inserito in un tag <script> nell'head di una pagina html:
    codice:
    var styleNode = document.createElement("style");
    	      styleNode.setAttribute("type", "text/css");
    	      styleNode.setAttribute("media", "screen");
    	      styleNode.innerHTML = "#scroll_container{overflow:hidden; border:1px solid green;}";
    	      document.getElementsByTagName("head")[0].appendChild(styleNode);
    Andando a visualzzare il DOM, in FF l'elemento <style> viene effettivamente creato, in IE7 no.. e infatti sul primo funziona e sul secondo no.

    Idee?

    Grazie in anticipo.

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    leggi e prova quanto suggerito trai commenti di questa pagina
    http://www.quirksmode.org/bugreports...mentstyle.html

  4. #4
    Ho provato.. ma non funziona.. infatti anche l'esempio dell'ultimo post funziona solo su FF..

    Mo ammattisco...

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    stai commettendo qualche errore, questo l' ho provato proprio ora
    Codice PHP:
    var styleNode document.createElement("style");
    var 
    rule="#scroll_container{overflow:hidden; border:1px solid green;}";

        
    styleNode.setAttribute("type""text/css");
        
    styleNode.setAttribute("media""screen");
        
        
    // forse l' errore era qui:
        // appendevi alla fine, ma se setti il contenuto del nuovo style 
        // accedendovi via document.styleSheets devi prima appenderlo
        
    document.getElementsByTagName("head")[0].appendChild(styleNode);

        if(!!
    window.ActiveXObject){
            
    document.styleSheets[document.styleSheets.length-1].cssText=rule;
        }
        else {
            
    styleNode.innerHTML=rule;
        } 
    ciao

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.