Kentico 不适用于 IE8

Kentico does not work on IE8

我正在使用 Kentico 8.2 并使用 HTML5、新 CSS 样式、所有 Bootstrap 样式和 javascript.

构建一个新网站

毫不奇怪,许多新样式和 HTML5 标签在 Internet Explorer 9 及更低版本上不起作用。

所以我尝试将这些标签添加到他们的 "editable" 主页 header:

<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 上,没有办法把这个放在最前面。有 not-editable 固定的 header Kentico 总是放在最上面,像这样:

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

有没有办法替换这个 pre-written-by-Kentico header 并替换为兼容的元标记?

谢谢,

J.

将其插入到所有页面顶部的一种方法是您可以将 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>

它确实会影响同一实例中的所有页面,但我认为这对您来说没问题,因为您是 运行 那里的一个站点。

我自己想出来了。

meta 标签,meta http-equiv="X-UA-Compatible" content="IE=edge",确实应该放在 "head" 标签的开头。 Kentico 将您在其样式表模块 link 中的所有样式表 link 放入可编辑标题之前的站点。这意味着您的元标记可能会在 "head" 标记中向下移动太多,以至于无法识别。

因此,解决方法是在某个文件夹中构建您自己的 css 文件,然后 link 自己在可编辑的 header 中(显然在元标记之后),以便 Kentico只有 link 个,或者两个 css 文件 link 来自他们的 CSS 样式模块。 Kentico 的默认网站也有主题 css 文件。

当然,还要将 X-UA-Compatible 元标记放在可编辑 header 的最前面。