Проблема печати Карт Bing в стандартном режиме Internet Explorer 8 - PullRequest
0 голосов
/ 27 ноября 2011

Я работаю над добавлением основных функций печати в приложение для веб-карты, которое я недавно создал, и я не могу заставить работать печать должным образом при использовании Internet Explorer 8 в стандартном режиме. Я надеялся, что кто-то с большим опытом CSS сможет помочь.

Я создал базовый пример на jsbin, который демонстрирует то, что я вижу: http://jsbin.com/osepov/16. Этот пример печатается правильно в большинстве браузеров. В Internet Explorer 8 в стандартном режиме, однако, изображения мозаики карты расходятся с первой страницы и на вторую страницу при печати. Я пробовал кучу разных комбинаций CSS и часами просматривал веб-страницы в поисках хаков, которые могли бы решить проблему. До сих пор мне явно не повезло.

Поскольку функции печати работают в большинстве браузеров, я готов пойти на некоторые компромиссы, если необходимо, чтобы это работало в стандартном режиме Internet Explorer 8:

  1. Карта не должна заполнять всю страницу, кроме заголовка. Может иметь фиксированную высоту.
  2. Заголовок приятно иметь, но я готов обойтись без него.

Я знаю, что можно создать PDF на сервере, но я действительно хочу сделать это с помощью простой таблицы стилей печати. ​​

Примечание. Да, я должен поддерживать режим стандартов IE 8. У меня было решение, которое переводило пользователей IE8 в режим IE7, но это было неприемлемо для моего клиента.

1 Ответ

0 голосов
/ 28 ноября 2011

ОБНОВЛЕНИЕ 2 : я смог решить проблему, опустив IE8 до режима стандартов IE7. Карта теперь печатается правильно.

ОБНОВЛЕНИЕ : Нет, это не решило проблему. Я все еще вижу ту же проблему. Казалось, это работает, но я все еще вижу проблему.

ОРИГИНАЛЬНАЯ ПОЧТА: Думаю, я понял это. По сути, кажется, что «верхний» div вызывал смещение всей страницы и переход на вторую страницу при печати в стандартном режиме Internet Explorer 8. Я не уверен, почему это происходило только в IE8, а не в других браузерах, но есть много странных ошибок только для IE, которые я не понимаю.

Финальное исправление:

#wrapper {height:100%;left:0px;position:absolute;top:0px;width:100%;}
#top {height:70px;position:relative;width:100%;}
#main {height:785px;overflow:hidden;position:absolute;top:70px;width:100%;}

Таким образом, позиционирование «верхнего» div относительно и назначение высоты пикселя и «overflow: hidden» для «основного» div, похоже, решило проблему.

Это не идеальное решение, но оно отвечает моим текущим требованиям.

Вот обновленное решение: http://jsbin.com/osepov/19.

...