טעינת CSS אחרי אינטרקציה בדפים מסוימים – Swift Performance

אחד הדברים החשובים שצריך לעשות כדי שהאתר יהיה מהיר כמו טיל, הוא לקבל שליטה מוחלטת על כל סקריפט וסטייל בדף ולדעת בכל דף האם הוא צריך לטעון מיד או באיחור, האם בהדר או בפוטר, האם לאחר אינטרקציה?

כמובן שמה שנכון לדף אחד, לא בהכרח נכון לדף אחר. בעזרת קצת קוד של swift performance תוכלו לבצע בדיוק מה שצריך בכל דף.

בעזרת הקוד הבא תוכלו לבצע טעינת css on scroll רק בדף מסוים. הוסיפו את הקוד ל functions.php

add_filter('swift_performance_option_load-full-css-on-scroll', function($value){
    if (isset($_SERVER['REQUEST_URI']) && parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) == '/'){ // home page
        return 1;
    }
    return $value;
});

אם רוצים לעשות זאת למספר דפים, ניתן להוסיף את הדפים למערך ולבדוק עליהם:

$pages = array(
  '/page1',
  '/פage2',
);
if (isset($_SERVER['REQUEST_URI']) &&
    in_array(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), $pages)){
  return 1;
}
return $value;
});

היה בעבר באג שלפעמים אם עושים את זה בעזרת קוד ולא דרך ההגדרות של swift ששם זה מתבצע רוחבית על כל האתר אז הטעינה לא באמת תקרה, גם אחרי שהמשתמש גולל. כדי שזה יעבוד לכם תצטרכו להוסיף את הקוד הבא לדף בו אתם רוצים שזה יעבוד.

<script data-dont-merge="">(function(){function pf(){var x=document.querySelector("link[rel=swift-deferred]");document.removeEventListener("mousemove", pf);document.removeEventListener("touch", pf);document.removeEventListener("scroll", pf);if(x!==null){x.setAttribute("rel", "prefetch");}}document.addEventListener("mousemove", pf);document.addEventListener("touch", pf);document.addEventListener("scroll", pf);function a(){var b=document.getElementById("swift-deferred");"object"==typeof b&&null!==b&&(b.setAttribute("rel", "stylesheet"),b.removeAttribute("id"))}function b(){950<(window.innerHeight||document.documentElement.clientHeight)+document.scrollingElement.scrollTop&&a(),requestAnimationFrame(b)}requestAnimationFrame(b),document.getElementsByTagName("html")[0].addEventListener("click",a)})();</script>
0 0 דרג
דרג את הפוסט
הרשמה
Notify of
0 תגובות
Inline Feedbacks
הצג את כל התגובות

גם הסניפטים הבאים יעניינו אותך

0
אשמח לשמוע את דעתכם, מוזמנים להשאיר תגובהx