2012-04-15 17 views
13

Ho uno script in esecuzione nella testa del mio documento html e funziona in tutti i browser ad eccezione di Internet Explorer. Testato su Opera, Safari, Chrome, Firefox, Internet Explorer.document.head.appendChild o document.createElement non funziona in IE

Il mio codice è il seguente:

<html> 
    <head> 
    <script type = "text/javascript"> 
     var date = new Date(); 
     var month = date.getMonth() + 1; 
     if (month >= 3 && month <= 5) 
     { 
     var NewScript = document.createElement("script"); 
     NewScript.type = "text/javascript"; 
     NewScript.src = "source1.js"; 
     var NewStyles = document.createElement("link"); 
     NewStyles.rel = "stylesheet"; 
     NewStyles.type = "text/css"; 
     NewStyles.href = "css1.css"; 
     document.head.appendChild(NewScript); 
     document.head.appendChild(NewStyles); 
     } 
     else 
     { 
     var NewScript = document.createElement("script"); 
     NewScript.type = "text/javascript"; 
     NewScript.src = "source2.js"; 
     var NewStyles = document.createElement("link"); 
     NewStyles.rel = "stylesheet"; 
     NewStyles.type = "text/css"; 
     NewStyles.href = "css2.css"; 
     document.head.appendChild(NewScript); 
     document.head.appendChild(NewStyles); 
     } 
    </script> 
    </head> 
    <body> 
    <!-- MY CONTENT GOES HERE --> 
    </body> 
</html> 

non sono sicuro se è il document.createElement o document.head.appendChild che non funziona in IE. Come detto prima, funziona su tutti gli altri browser in cui l'ho testato. Un aiuto con questo sarebbe molto apprezzato poiché continuerò a trovare personalmente il problema/soluzione. Grazie!

risposta

34

Prova document.getElementsByTagName('head')[0] invece di document.head

+0

Oh mio Dio! Sei un risparmiatore di vita! Ho provato quasi tutto tranne quello. Sto creando diversi temi in base alle stagioni dell'anno, quindi il mio prossimo progetto sono i temi delle vacanze. Grazie ancora! –