У меня простая табличная HTML-страница с очень простой таблицей стилей. Я могу открыть страницу в IE7 и FireFox 3, и это выглядит точно так же. Я могу распечатать страницу из обоих браузеров, и она выглядит точно так же. Мы будем называть страницу «ProblemPage.htm»Почему я вижу разные размеры шрифта при печати страницы с IFrame?
Теперь внутри страницы 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
Ну, я предполагаю, что это не "утечка стилей". Если я поместил Сброс CSS Yahoo в файл ProblemPage.css, он определенно подхвачен обоими браузерами во всех четырех случаях, но проблема остается: когда IE печатает страницу из IFrame, размеры шрифтов прикручиваются.
UPDATE 2
Никогда не нашел проблему. Упрощенный тестовый проект не показал той же проблемы, и я подозреваю, что могут возникнуть проблемы с основными страницами, темами или что-то в этом роде. Интересно, что проблема не возникала на IE6, просто IE7.
Я закончил взломать свой путь вокруг проблемы с условно прокомментированным CSS только для IE7. Это была единственная часть всего приложения, где мне пришлось использовать условный CSS.
Еще хотелось бы получить ответ (или даже несколько WAG относительно того, что искать дальше).
Это точно такой же HTML-файл в том же проекте. В одном случае я просматриваю его напрямую. В другом я загружаю его в IFrame на другой странице и печатаю его со сценарием выше. Он видит CSS, потому что изменения действительно появляются. Это просто очень непоследовательно. – CMPalmer