רינדור הרבה תוכן בצד הלקוח

30 ביולי 2012

תגיות: , , , , , ,
6 תגובות
לאחרונה אנחנו עדים לשינוי הקו בפיתוח אתרי ה – web (כשכמובן פיתוח ב – asp.net mvc מוביל לשם) שהרבה מבניית התוכן של הדף עובר לצד הלקוח, בעזרת jQuery או knockout וכדו'.
 
אחת מהבעיות שפיתוח בסגנון זה יכול לגרום, שברגע שהרבה מה – html נבנה דינמית המשתמש יראה את הדף נבנה שלב אחרי שלב, מה שכמובן בכלל לא כזה נחמד.
 
ידידי היקר תומר קיסר כתב פיתרון כל כך פשוט שהוא גאוני, יש להוסיף ל – body את המקטע הבא:
 

body

{

    visibility: hidden;

}

 
בנוסף יש לכתוב בסוף ה – document.ready את הקוד הבא:
 

$(document).ready(function () {

    $("body").css("visibility", "visible");

});

 
כעת רק בסוף הבנייה של האתר המשתמש יראה בבת אחת את כל הדף.
הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

6 תגובות

  1. Dovi31 ביולי 2012 ב 9:40

    כל הכבוד תומר

    הגב
  2. משה31 ביולי 2012 ב 22:50

    אני לא חושב שזה נכון.

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

    במחשב הפיתוח זה אחלה, אבל באתר פעיל אני חושב שזה רע.

    הגב
  3. ינון1 באוגוסט 2012 ב 8:18

    מסכים עם משה, התחושה שמשהו קורה בעמוד היא חיונית

    הגב
  4. Shlomo1 באוגוסט 2012 ב 10:13

    כשיש המון קוד ב – document.ready שבונה את ה UI, זה יכול להיות ממש לא נעים לעיין לראות את בניית הדף, זה אמנם לוקח שניים שלוש שניות, אבל עדיף לראות אנימצייה או לא לראות כלום מאשר לראות טבלאות וגרידים נבנים על המסך.

    לדעתי.

    הגב
  5. נירט6 באוגוסט 2012 ב 5:54

    אני לא מבין איך דפדפנים "מתקדמים" לא עושים את זה אוטומטית – לא מציגים את הדף עד שהוא לא הסתיים להבנות.
    ובינתיים מציגים איזה אינדיקציה סטנדרטית שהבנייה מתרחשת ברקע.
    ואם כבר, אז באתרים שמרפרשים את עצמם אוטומטית (e.g ynet) למה הדפדפן חושף את כל הבנייה מחדש ולא משאיר את הדף הישן עד שהדף החדש מוכן להצגה ?

    הגב
  6. molli26 באוגוסט 2012 ב 1:16

    אני חושב שזה גאוני !
    תראו את הצד של המשתמש: המטרה שלו לפתוח את הדף וכמה שיותר מהר ללא תקלות .
    שהוא רואה שהדף עדיין נטען והוא לא מציג שום דבר גורם לו להאמין שהכל בסדר ולא יזיק לחכות.
    אבל אם הוא רואה שהדף נטען כל חלק בנפרד הוא נהיה עצבני וגורם לעצמו לחשוב שהדף מתעלל בו!
    (נקודה פסיכולוגית)

    הגב