/ / Kentico 10 웹 사이트 컨텍스트에서 FOUC 방지 - zurb-foundation, kentico

Kentico 10 웹 사이트의 컨텍스트에서 FOUC 방지 - zurb-foundation, kentico

Zurb Foundation 추천 페이지 html 태그에 class = "no-js"추가 FOUC (Unstyled Content)의 플래시를 방지합니다.

우리는 Kentico CMS를 사용하고 있습니다. 수업에 수업을 추가하는 "Kentico way"를 찾고 있습니다. html 요소 태그를 마스터 페이지에 추가합니다. 우리는 CMS 포털 엔진을 사용하고 있습니다.

우리가 무엇을 할 것인가? <html class="no-js"

Kentico 매크로 또는 API를 사용하는 것이 더 친숙하지 않은 경우 ASP.NET으로 넘어 가고 싶어합니다.

답변:

답변 № 1 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>

또한 CMSPagesPortalTemplate.aspx 페이지를 수정할 수도 있지만 일반적으로 업그레이드 경로가 손상되므로 Kentico에서 지원하거나 권장하지 않습니다.


답변 № 2에 1

내가 아는 가장 빠른 방법은 수정하는 것입니다. CMSPagesPortalTemplate.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">
...

답변 № 3에 0

"no-js"는 기본값입니다. 실제로 브라우저가 지원 자바 스크립트를 사용하는 경우 "no-is"클래스는 Modernizr 엔진에서 제거됩니다.

Modernizr은 JavaScript 라이브러리이며 브라우저 기능을 확인하고 html 클래스를 업데이트합니다. "

예를 들어, 브라우저가 flexbox 기술을 지원하면 flexbox 클래스가 html 클래스 목록에 추가됩니다. 그렇지 않으면 no-flexbox 클래스가 추가됩니다.

나중에 CSS 프레임 워크 (부트 스트랩 또는 파운데이션)를 사용할 때 누락 된 기능을 에뮬레이트하기 위해 일부 전략을 사용할 수 있습니다.


관련 질문


댓글 (0)

의견을 추가하다