אחד הדברים החשובים שצריך לעשות כדי שהאתר יהיה מהיר כמו טיל, הוא לקבל שליטה מוחלטת על כל סקריפט וסטייל בדף ולדעת בכל דף האם הוא צריך לטעון מיד או באיחור, האם בהדר או בפוטר, האם לאחר אינטרקציה?
כמובן שמה שנכון לדף אחד, לא בהכרח נכון לדף אחר. בעזרת קצת קוד של 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 דירוגים
דרג את הפוסט