IE не загружает более 30 таблиц стилей (друпал)? - PullRequest
2 голосов
/ 25 июля 2011

У меня есть страница, которая вызывает около 32 таблиц стилей. На другой странице он вызывает <30. В любом другом браузере обе страницы выглядят хорошо, но на первой странице в IE (8, 7) последние 2 таблицы стилей не вызываются, и это полностью портит макет. Я не совсем уверен, как обойти это в drupal. </p>

EDIT: Кроме того, я понимаю, что иметь больше 30 не так уж и здорово, но именно так изначально разрабатывался наш сайт. У нас есть куча тем и модулей, которые добавляют слешеты, используя "drupal_add_css".

Я попытался сжать CSS, выбрав admin / settings / performance, но ссылка на таблицу стилей не работает, потому что мы используем номер порта для нашего тестового сайта (http://mysite:123) и сгенерированная ссылка http://mysite/public/css/random_string.css

Ответы [ 5 ]

3 голосов
/ 25 июля 2011

Вы можете использовать admin / settings / performance и установить для Optimize CSS значение true.Это выдаст 1 CSS вместо 32+.Если вы разрабатываете и хотите, чтобы это работало в IE, вам нужно очистить кеш после изменения CSS.Мы склонны оставлять это в разработке и включать его только для тестирования в IE или для производства.

Всего наилучшего, угасший


Ответ на комментарий Элисон (слишком длинный для комментарияblock)

Привет AlisonC,

Я никогда не пытался использовать порт для сайта с Drupal.Я бы посоветовал убедиться, что ваши settings.php для вашего сайта настроены правильно.Для вашей папки может потребоваться специальное имя (см. Инструкции в верхней части файла settings.php), или вам может потребоваться проверить $ base_url и убедиться, что у него есть порт.

Если это не сработает, есть модуль для кэширования CSS во время разработки (http://drupal.org/project/ie_css_optimizer). Я не использовал его, но он может работать немного по-другому, по крайней мере, для вашей ситуации. (После ввода этого язаметил, что другой пользователь также порекомендовал это).

Я предполагаю, что вы все еще разрабатываете, и я бы удалил модуль ie css optimizer (или, по крайней мере, выключил его), прежде чем начать работу, так как это в основномпомощник разработчика. Я думаю, что это предел моих знаний. Удачи!

- Ember

2 голосов
/ 25 июля 2011

Это известное ограничение для IE - на одной странице не может быть более 31 таблицы стилей.

Ссылки:

Единственное реальное решение, которое у вас есть, - это объединить ваши таблицы стилей, чтобы у вас было меньше отдельных файлов CSS (используйте Drupal'sОпция «Оптимизировать CSS»).Но я признаю, что это может быть проблематично, если вы пытаетесь отладить свой код и т. Д.

На самом деле, возможно загрузить в IE намного больше 31 таблицы стилей, нодля более чем 31 вам нужно сделать это через строку @import внутри другого файла CSS.На самом деле это невозможно в контексте сайта Drupal, где каждая таблица стилей добавляется модулем, и вы не можете контролировать, как Drupal добавляет их на страницу.

0 голосов
/ 27 июля 2011

http://drupal.org/project/ie_css_optimizer ... это то, что мы используем. Отладка темы - это проблема с включенной оптимизацией CSS. D7 использует метод @import, который реализует этот модуль, чтобы обойти проблему.

0 голосов
/ 26 июля 2011

На самом деле есть модуль для решения этой проблемы. Я не использовал его лично, но у него есть пользователи 5K + (Drupal 6).

0 голосов
/ 25 июля 2011

Как они загружаются? 30 индивидуальных <link href="blahblah.css"> звонков? Или из других таблиц стилей с директивами @import? Помните, что в случае синтаксической ошибки дальнейшая обработка таблицы стилей завершится неудачей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...