Kentico не работает в IE8

Я использую Kentico 8.2 и создаю новый веб-сайт с HTML5, новыми стилями CSS, всеми стилями Bootstrap и javascript.

Неудивительно, что многие новые стили и теги HTML5 не работают в Internet Explorer 9 и более ранних версиях.

Поэтому я попытался добавить эти теги в их «редактируемый» заголовок главной страницы:

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--[if lt IE 9]>
        <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Но вообще не работает, и я обнаружил, что метатег должен идти в самый верх страницы, иначе он не будет работать. И на Kentico нет возможности поставить это на первое место. Существует нередактируемый фиксированный заголовок, который Kentico всегда ставит сверху, например:

<meta http-equiv="pragma" content="no-cache" />
<link href="/CMSPages/GetResource.ashx?stylesheetname=CorporateSite" type="text/css" rel="stylesheet"/>

Можно ли как-то заменить этот заголовок, написанный Кентико, на совместимый метатег?

Спасибо,

J.


person Jenny    schedule 29.01.2016    source источник
comment
Вы делаете что-то не так. Каждый раз, когда я добавляю что-то в HEAD на вкладке «Мастер-страница» фактической мастер-страницы, оно появляется в нужном месте и работает так, как ожидалось.   -  person Roman Hutnyk    schedule 30.01.2016
comment
Порядок имеет значение только для тега кодирования в заголовке, поэтому вы должны хорошо размещать теги в любом месте. Я делал это с Kentico 7 без каких-либо проблем.   -  person Roman Hutnyk    schedule 30.01.2016
comment
Итак, вы говорите, что Kentico действительно работает, а веб-сайт, который вы разрабатываете, — нет.   -  person Brenden Kehren    schedule 31.01.2016
comment
Другие заголовки, которые я добавляю в часть редактирования, работают нормально, например, ссылки на javascript или CSS. Не работает только метатег. и я использую Kentico 8.2.   -  person Jenny    schedule 01.02.2016
comment
Kentico — это инструмент для создания веб-сайта. Если я скачаю его и просто размещу этот пустой шаблон в Интернете, я уверен, что он будет работать нормально. Клиенты, которые покупают Kentico, покупают для создания своих веб-сайтов. И это не удалось для тегов HTML5, Bootstrap и новых стилей CSS для старых браузеров.   -  person Jenny    schedule 01.02.2016
comment
Если вам нужно разрабатывать для ie8 (я бы отказался от этого и ie9), вы должны использовать модернизатор для обнаружения устройств. Многие элементы начальной загрузки не будут работать в ie8. Bootstrap 4 вообще не поддерживает IE8. modernizr.com   -  person Mark Handy    schedule 01.02.2016
comment
Марку Хэнди: Спасибо, Марк. Значит ли это, что даже тег ‹мета http-equiv=X-UA-Compatible content=IE=edge› не заставит начальную загрузку работать в IE8?   -  person Jenny    schedule 01.02.2016
comment
Какую версию Bootstrap вы используете? и какие компоненты начальной загрузки вы используете? С IE8 начальная загрузка должна работать, но мобильная реализация вызовет проблемы, поскольку IE8 не понимает медиа-запросы, поэтому будет их игнорировать. в ie8 посмотрите по этой ссылке: getbootstrap.com/examples/grid. это пример сетки Bootstrap. Он имеет метатег с ie-edge. М   -  person Mark Handy    schedule 01.02.2016


Ответы (2)


Я понял это сам.

Мета-тег meta http-equiv="X-UA-Compatible" content="IE=edge" действительно должен располагаться в самом начале тега "head". И Kentico помещает все ссылки на таблицы стилей, которые у вас есть в их модулях таблиц стилей, связанных с вашим сайтом, ПЕРЕД редактируемым заголовком. Это означает, что ваш метатег может быть слишком сильно сдвинут вниз в теге «head», так что он не будет распознан.

Таким образом, обходной путь заключается в том, что просто создайте свои собственные файлы CSS в какой-либо папке и свяжите их самостоятельно в редактируемом заголовке (очевидно, после метатега), чтобы Kentico связывал только одну или, может быть, две ссылки на файлы CSS из своего модуля стилей CSS. Веб-сайты Kentico по умолчанию также имеют файлы стилей css.

И, конечно же, поместите метатег X-UA-Compatible в самом начале редактируемого заголовка.

person Jenny    schedule 11.02.2016

Один из способов вставить это в начало всех страниц — вы можете жестко закодировать HTML в основной шаблон портала: \CMS\CMSPages\PortalTemplate.aspx.

<%=DocType%>
<html <%=XHtmlNameSpace%> <%=XmlNamespace%>>
<head id="head" runat="server" enableviewstate="false">
    <title id="_title" runat="server">My site</title>
    <asp:Literal runat="server" ID="tags" EnableViewState="false" />
</head>

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

person Rui    schedule 29.01.2016
comment
Что значит не получилось? По сути, это жесткое кодирование HTML, необходимого для родительского шаблона портала. И, исходя из того, что вы говорили, если вы поместите HTML-код между ‹head› и ‹title›, он будет там при отображении страницы. - person Rui; 01.02.2016