У меня есть простая HTML-страница на основе таблицы с очень простой таблицей стилей. Я могу открыть страницу в IE7 и FireFox 3, и она выглядит точно так же. Я могу распечатать страницу из обоих браузеров, и она выглядит точно так же. Мы будем называть страницу «ProblemPage.htm»
Теперь внутри страницы ASP.Net я создаю IFrame и загружаю этот HTML-код в IFrame следующим образом:
window.frames[iframeId].location.href = "../ProblemPage.htm";
Когда пользователь нажимает кнопку на странице ASP.Net, он вызывает функцию, которая делает это:
window.frames[iframeId].focus();
window.frames[iframeId].print();
Когда я это делаю и распечатываю, версия Firefox выглядит точно так же, как и когда я загружал страницу отдельно и печатал ее. Версия IE7 уменьшает все размеры шрифта примерно до половины.
Обратите внимание, что настройки страницы в значительной степени установлены по умолчанию. Я использовал разные принтеры и печатал прямо в PDF. Я неоднократно очищал кэш, чтобы убедиться, что я использую тот же CSS. Тем не менее, в том же сеансе IE7 сама страница печатается односторонним способом, а страница печатается с помощью IFrame, как описано выше, с использованием шрифтов меньшего размера. Находясь в одном сеансе Firefox, сама страница печатается точно так же, как и страница, напечатанная с помощью IFrame.
Есть идеи? Похоже, что некоторые из моих стилей «просачиваются» на страницу, когда я печатаю ее в IE, или что IE интерпретирует стили, отличающиеся в IFrame.
UPDATE
Ну, я думаю, это не "утечка стилей". Если я добавлю Yahoo CSS Reset в файл ProblemPage.css, он определенно будет подхвачен обоими браузерами во всех четырех случаях, но проблема останется: когда IE печатает страницу из IFrame, размеры шрифта облажаются. *
ОБНОВЛЕНИЕ 2
Никогда не нашел проблему. В более простом тестовом проекте не было той же проблемы, и я подозреваю, что это может быть проблема с мастер-страницами, темами или чем-то в этом роде. Интересно, что проблема не возникла на IE6, просто IE7.
Я решил разобраться с проблемой с помощью условно прокомментированного CSS только для IE7. Это была единственная часть всего приложения, где мне приходилось использовать условный CSS.
Все еще хотел бы получить ответ (или даже несколько WAGs о том, что искать дальше).