Zurb Foundation建议adding class="no-js" to the page html tag防止无格式内容Flash(FOUC)。
我们正在使用Kentico CMS。我正在寻找在主页中向html
元素标记添加类的“Kentico方法”。我们正在使用CMS门户引擎。
我们要做什么
<html class="no-js"
如果使用Kentico宏或其API没有更平易近人的方式,那么愿意回归ASP.NET。
答案 0 :(得分:3)
在您的母版页门户模板上,您可以添加一些这样的代码来进行修改:
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (CurrentDocument != null)
{
CMS.UIControls.ContentPage page= this.Page as CMS.UIControls.ContentPage;
if (page != null)
{
page.XmlNamespace += " class='no-js'";
}
}
}
</script>
您也可以修改\ CMSPages \ PortalTemplate.aspx页面,但Kentico不支持或推荐该页面,因为它通常会破坏升级路径。
答案 1 :(得分:1)
我知道的最快捷方式是修改CMSPages\PortalTemplate.aspx
以在那里添加您的课程。
<%@ Page Language="C#" AutoEventWireup="true" Inherits="CMSPages_PortalTemplate" ValidateRequest="false" MaintainScrollPositionOnPostback="true" EnableEventValidation="false" Codebehind="PortalTemplate.aspx.cs" %>
<%=DocType%>
<html <%=XHtmlNameSpace%> <%=XmlNamespace%> class="no-js">
<head id="head" runat="server" enableviewstate="false">
...
答案 2 :(得分:0)
“no-js”是à默认值。实际上,如果您的浏览器支持JavaScript,那么“no-is”类将被Modernizr引擎剥离。
Modernizr是一个JavaScript库,它将检查浏览器功能并更新html class =“”提及。
例如,如果您的浏览器支持flexbox技术,则flexbox类将添加到html类列表中。否则,将添加no-flexbox类。
稍后,当使用CSS框架(Bootstrap或Foundation)时,可以使用一些策略来模拟缺失的功能。