2013-08-12 64 views
0

以下JavaScript在Chrome,Firefox & Safari上正常工作 - 但不適用於Internet Explorer。我的頭上有這個JavaScript。Internet Explorer(僅限)Javascript頭部createStyleSheet錯誤

<script type="text/javascript"> 
    $(document).ready(function(){ 

    if($(".company-color").size()>0){ 
      if (document.createStyleSheet){ 
       document.createStyleSheet('company-color.css'); 
      } 
      else { 
       $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/company-color.css' type='text/css' media='screen' />")); 
      } 
     } 
    }); 
</script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

    if($(".enterprise-color").size()>0){ 
      if (document.createStyleSheet){ 
       document.createStyleSheet('enterprise-color.css'); 
      } 
      else { 
       $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/enterprise-color.css' type='text/css' media='screen' />")); 
      } 
     } 
    }); 
</script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

    if($(".media-color").size()>0){ 
      if (document.createStyleSheet){ 
       document.createStyleSheet('media-color.css'); 
      } 
      else { 
       $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/media-color.css' type='text/css' media='screen' />")); 
      } 
     } 
    }); 
</script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

    if($(".contact-color").size()>0){ 
      if (document.createStyleSheet){ 
       document.createStyleSheet('contact-color.css'); 
      } 
      else { 
       $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/contact-color.css' type='text/css' media='screen' />")); 
      } 
     } 
    }); 
</script> 

中的JavaScript看起來在頁面的主體爲特定的div類,然後使用一個特定的css文件取決於什麼發現,如下:

<div class="company-color">&nbsp;</div> 

上面拉的中下面的樣式表:

/templates/joostrap-rmg/css/company-color.css

任何想法就是實習生et Explorer的問題是? 理想的情況下,需要在IE9 +

+1

你測試過哪個IE版本? – rps

回答

2

工作,因爲在MSDN指出,document.createStyleSheet是不是因爲IE11支持:http://msdn.microsoft.com/en-us/library/ie/ms531194 你使用哪種IE?

因爲你已經使用jQuery我建議創建樣式jQuery的方式:

$('<link />').attr('rel', 'stylesheet').attr('href', 'url...'); 

簡單,只是一直回落到else部分,其附加<link>標籤<head>

<script type="text/javascript"> 
    $(document).ready(function() { 
     if ($(".company-color").size() > 0) { 
      $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/company-color.css' type='text/css' media='screen' />")); 
     } 
     if ($(".enterprise-color").size() > 0) { 
      $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/enterprise-color.css' type='text/css' media='screen' />")); 
     } 
     if ($(".media-color").size() > 0) { 
      $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/media-color.css' type='text/css' media='screen' />")); 
     } 
     if ($(".contact-color").size() > 0) { 
      $("head").append($("<link rel='stylesheet' href='/templates/joostrap-rmg/css/contact-color.css' type='text/css' media='screen' />")); 
     } 
    }); 
</script> 

爲了簡潔,我組合了多個<script>標籤和$(document).ready()處理程序。

+0

理想情況下,我需要這個在IE10 +中工作。那麼,我將如何使用上述來尋找我的CSS類和使用適當的CSS文件? – user991830