/ / منع FOUC في سياق موقع Kentico 10 - zurb-foundation ، kentico

منع FOUC في سياق موقع Kentico 10 - zurb-foundation ، kentico

توصي مؤسسة زرب إضافة class = "no-js" إلى صفحة html للوقاية من Flash of Unstyled Content (FOUC).

نحن نستخدم Kentico CMS. أنا "م تبحث عن" طريقة Kentico "لإضافة فئة إلى html علامة العنصر في الصفحة الرئيسية. نحن نستخدم محرك بوابة CMS.

ما نحن "الذهاب ل <html class="no-js"

على استعداد للعودة إلى ASP.NET إذا لم تكن هناك طريقة أكثر ودودًا باستخدام وحدات الماكرو Kentico أو API الخاص بها.

الردود:

3 للإجابة № 1

في قالب مدخل الصفحة الرئيسية ، يمكنك إضافة بعض الرموز مثل هذا لإجراء هذا التعديل:

<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 لأنه يفصل عادةً مسار الترقية.


1 للإجابة № 2

أسرع طريقة أعرفها هي التعديل 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">
...

0 للإجابة № 3

"no-js" هي القيمة الافتراضية. إذا كان متصفحك يدعم جافا سكريبت بالفعل ، فسيتم تجريد الطبقة "no-is" بواسطة محرك Modernizr.

Modernizr هي مكتبة جافا سكريبت وسوف تتحقق من قدرات المتصفح وتحديث فئة html = "".

على سبيل المثال ، إذا كان المستعرض يدعم تقنية flexbox ، فسيتم إضافة فئة flexbox إلى قائمة فئة html. خلاف ذلك ، سيتم إضافة فئة لا - flexbox.

لاحقًا ، عند استخدام إطار CSS (Bootstrap أو Foundation) ، يمكن استخدام بعض الاستراتيجيات لمحاكاة ميزة مفقودة.


أسئلة ذات صلة


التعليقات (0)

اضف تعليق