У меня есть сайт, который я сделал, который не будет печатать (Файл> печать или предварительный просмотр) в IE9 на Windows 7 64 бит. Все другие браузеры, которые я тестировал, нормально распечатывают, и я запускаю сайт через валидатор W3C, и он одобрен. Любые предложения о том, как устранить неполадки? Он просто печатает пустую страницу.
2 ответа
Эта страница работает для FireFox V9 или Chrome V16, но не для IEV9. Вы можете увидеть это без печати, но отметив "Print Previeiw". CSS использует медиа тег для всех ситуаций (веб и печать). Вам нужно изолировать что-то в вашем CSS, что приводит к сбою в IE, а затем использовать отдельный
<link media="print" type="text/css" href="myPrintVersion.css" />
за этим исключением. (Вероятно, что-то вроде пропуска фонового изображения, которое затемняет всю страницу печати).
Я поковырялся в режиме разработчика IE9 с сайтом. Есть пара интересных вещей, которые я нашел. Во-первых, отключение всего CSS позволило отображать содержимое страницы в режиме предварительного просмотра, но, конечно, это не решение проблемы. Тем не менее, он говорит нам, что что-то в рендеринге CSS является виновником. Глядя дальше, я обнаружил, что у вас есть тонна CSS-свойств, слишком много, чтобы попытаться разобрать их и в любом случае вручную изолировать один или группу-нарушителя (что я должен был бы сделать, учитывая доступные мне инструменты). прямо сейчас).
Тем не менее, я обнаружил, что эта строка в вашем <head> блоке, кажется, кое-что, чтобы рассмотреть:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Это говорит IE использовать режим совместимости стандартов IE8. Если вы вручную указываете IE9 использовать режим стандартов IE9, содержимое страницы правильно отображается в режиме предварительного просмотра.
Я не смотрел дальше, но это, кажется, особое условие того, как механизм рендеринга IE8 обрабатывает CSS на вашем сайте, и тот, который IE9 фактически исправил.
Если вы действительно хотите, чтобы страница печаталась в IE8, то я думаю, что это должно привести вас в правильном направлении. В противном случае вы можете просто установить его по умолчанию в стандартном режиме IE9 и назвать его "исправленным". ;)