Значок Font Awesome не отображается в представлении совместимости IE9

В проекте я использую значок шрифта Awesome для отображения значка в формате по умолчанию, например . Он отлично работает в Chrome, FireFox и IE9 и IE11, но не отображается в режиме совместимости.

Я использовал метатег, чтобы заставить визуализировать документ, но он не работает. Также в режиме совместимости некоторые css выглядят не так, как стандартный вид, как в другом браузере.

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

На самом деле, моя страница генерируется с помощью шаблона «xsl», поэтому я также использовал htm5 JS следующим образом:

<xsl:comment>
<![CDATA[[if lt IE 9]>
<script src="js/jquery/html5shiv.min.js" type="text/javascript" />
<script src="js/jquery/respond.js" type="text/javascript" />
<![endif]]]>
</xsl:comment>

А вот моя структура HTML в режиме совместимости IE9:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-16" http-equiv="Content-Type">
<meta content="IE=9; IE=8; IE=7; IE=EDGE" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/picdef.css?ver=T1.0" media="screen">
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css?ver=T1.0" media="screen">
<link rel="stylesheet" type="text/css" href="css/print.css?ver=T1.0" media="print">
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css?ver=T1.0" media="screen">
<link rel="SHORTCUT ICON" href="images/favicon.ico">
</head>
<body>
 ..................................
</body>
</html>

Я обнаружил в DOM, что html5 js не загружен.

Любое решение? Извините за плохой английский.


person Daniel Smith    schedule 03.10.2016    source источник
comment
любое предложение для любого expart?   -  person Daniel Smith    schedule 04.10.2016


Ответы (1)


Ваши настройки режима совместимости говорят IE использовать режим совместимости с IE7.

Обратите внимание, что Font Awesome не работает в IE7 (и в режиме совместимости с IE7), потому что IE7 не поддерживает несколько ключевых функций, которые использует Font Awesome.

Даже поддержка IE8 в Font Awesome оставляет желать лучшего. В идеале вам следует рассмотреть возможность поддержки только IE9 и выше.

Так что лучший вариант - отказаться от режима совместимости. Измените свой метатег следующим образом:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

... то есть удалить IE=9; IE=8; IE=7;.

Если вам действительно нужно, чтобы ваш сайт поддерживал IE7 и IE8, вам нужно будет переосмыслить дизайн своего сайта и использовать старые методы для его создания.

person Spudley    schedule 12.10.2016
comment
Мне нужно, чтобы FontAswame работал только в режиме совместимости с IE9 и IE11. Некоторые другие виды также не очень хороши в этом режиме. Все в порядке, но мне нужно отобразить FontAwesome в режиме совместимости IE9 и IE11. @ Спадли - person Daniel Smith; 13.10.2016
comment
IE имеет множество режимов совместимости. Существует режим совместимости для каждой версии от 7 до версии, которую вы используете. Таким образом, IE9 имеет режимы совместимости для IE7 и 8. А IE11 имеет режимы совместимости для IE7, 8,9 и 10. Более низкие режимы заставят браузер претендовать на роль IE7 или IE8. Если вы используете эти режимы, вы не сможете использовать программное обеспечение, которое не работает в IE7 или IE8. Вам действительно нужно использовать режимы совместимости? Не похоже, чтобы вы действительно понимали, что они на самом деле делают. - person Spudley; 14.10.2016
comment
Да, у IE много режимов совместимости, и я задаю тип документа последней (доступной) версии IE9 и IE11, используя метатег ‹meta http-equiv=X-UA-Compatible content=IE=9, IE=edge /›, но Font Font Awesome не работает на обеих версиях. Спасибо за ответ. - person Daniel Smith; 14.10.2016
comment
В инструментах разработчика браузера я вижу, что режим документа отображается в IE9 в режиме совместимости с IE9. - person Daniel Smith; 14.10.2016
comment
Мне нужно поддерживать режим совместимости IE9 и IE11. - person Daniel Smith; 14.10.2016