Эта запись в блоге (немного раздражающая страница) (и это, кстати, не мой блог) описывает странную ошибку, с которой я столкнулся вчера только в Internet Explorer 8. Ошибка связана с веб-шрифтами .EOT и элементами .
Я не исследовал точный механизм возникновения ошибки, но в основном она заключается в том, что страница, использующая веб-шрифт, которая загружает содержимое в таким образом, что фрейм также использует веб-шрифт, становится "испорченной" браузером. Ранее нормальный текст, отображаемый веб-шрифтом, внезапно переходит на ужасно выглядящий Arial или что-то другое, как бы сам по себе. Иногда он меняется обратно, но снова ухудшается при случайных действиях пользователя, например, при движении мыши.
В этом сообщении блога есть пример. Чтобы уточнить, это содержащая страница, которая испортилась, а не страница в (по крайней мере, так было до сих пор в моем опыте).
Нашел ли кто-нибудь лучшее решение, чем то, что предлагается в этом блоге, которое заключается в принудительной "перезагрузке" элемента CSS , откуда берутся объявления
@font-face
? (Я могу это сделать, но это будет небольшая боль, плюс это заставит меня перенести настройку шрифта из документа , что, насколько я помню, является проблемой производительности; мне придется пошарить вокруг и найти этот лакомый кусочек снова)
edit - update
OK вот тестовая страница. Вот главная (контейнерная) страница:
Hello World
Страница-фрейм имеет тот же @font-face
и фиктивное сообщение.
Похоже, что проблема связана с использованием загруженных шрифтов со списком из более чем одного альтернативного шрифта. Я (без веской причины) добавил пару похожих более распространенных шрифтов в значения "font-family". Когда я вернул их обратно к:
.title { font-family: bold-display, sans-serif; }
то проблема исчезла (или, по крайней мере, кажется, что она исчезла до сих пор).
Спасибо тем, кто помог. Для @albert, добавьте ответ с кратким описанием того, что вы пробовали, и я проголосую за вас :-)
29
задан Pointy 25 October 2011 в 13:51
поделиться