Drupal克服IE 31样式表限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Drupal克服IE 31样式表限制相关的知识,希望对你有一定的参考价值。

To be placed in template.php preprocess_page function.\r\n\r\nBreaks stylesheets into 2 style tags with limit of 30 @imports each. IE has a limitation of 31 @imports or 31 style tags. (source: [http://john.albin.net/ie-css-limits/single-style-test.html](http://john.albin.net/ie-css-limits/single-style-test.html))
  1. <?php
  2. // Consolidate all styles import into 1 style tag. Solves IE 31 style tag limit
  3. $styles_document = new DOMDocument();
  4. $styles_document->loadHTML($vars['styles']);
  5. $style_elements = $styles_document->getElementsByTagName('style');
  6. $stylesheets = '';
  7. $stylesheets2 = '';
  8.  
  9. for ($i=0;$i<$style_elements->length;$i++) {
  10. $stylesheets .= $style_elements->item($i)->nodeValue . " ";
  11. if($i == 30) {break;}
  12. }
  13. $styles = '<style type="text/css" media="all">' . $stylesheets . "</style> ";
  14.  
  15. for ($i=31;$i<$style_elements->length + 1;$i++) {
  16. $stylesheets2 .= $style_elements->item($i)->nodeValue . " ";
  17. if($i == 60) {break;}
  18. }
  19. if($stylesheets2 != '') {
  20. $styles .= '<style type="text/css" media="all">' . $stylesheets2 . '</style>';
  21. }
  22. $vars['styles'] = $styles;
  23. ?>

以上是关于Drupal克服IE 31样式表限制的主要内容,如果未能解决你的问题,请参考以下文章

针对 IE 4096 选择器/样式表限制的 Rails 资产管道解决方案

我知道网页可以拥有的样式表的数量是有限制的,但是附加的 javascript 文件呢?

CSS 上传附件表的Drupal自定义样式

从Drupal6中删除不需要的样式表

上传附件表的Drupal自定义样式

PHP 从Drupal 6中删除不需要的样式表