HTML5 Progress bar

מה זה Progress bar? כאשר אנו מבצעים איזשהו תהליך מול שרת, הרבה פעמים אנחנו צריכים איזשהו progress bar או בעברית מד התקדמות – משהו שיתן אינדקציה לגולש על התקדמות התהליך אל מול השרת. למשל אם העליתי קובץ לשרת למטרת עיבוד מסוימת, אני יכול (באמצעות AJAX) לבצע שאילתות לשרת ולבקש עדכון על התקדמות.
עד היום היה קל יחסית לעשות מד התקדמות עם כמה divים ועם קצת CSS וקצת מתמטיקה.

progress bar

אך בתקן HTML5, מאד קל לעשות progress bar בקלות וביעילות ללא מאמץ מיוחד – גם עם דפדפנים עתיקי יומין (וכולנו יודעים על איזה דפדפנים אני מדבר). קודם כל, איך עושים את זה? בקלות! הנה דוגמה:

This will be shown to IE9 and below: Progress: 65% done.

איך הקוד נראה? כך:


<progress max="100" value="65">
  <strong>This will be shown to IE9 and below: Progress: 65% done.</strong>
</progress>

הטקסט שנמצא בין תגיות ה-progress מוצג בפני דפדפנים ישנים – במקרה הזה אקספלורר 9 (כולל) ומטה.

ועל מנת לשנות את קצב ההתקדמות, כל מה שאני צריך לעשות זה לשנות את ערך ה-value שיש בשדה.

העיצוב של ה-Progress bar הוא דיפולטיבי ומשתנה לפי מערכת ההפעלה והדפדפן, אבל אפשר כמובן לשנות אותו ב-CSS כמו כל אלמנט HTMLי כלשהו. וכשאני מתכוון ללשנות, אני מתכוון לממש לשנות

חלק מכם יתלהבו, אבל עבור רובנו, אקספלורר 9 ו-8 הן עדיין בעיה שיש להתחשב בה. אם progress bar לא נתמך בתפלצת של מיקרוסופט, לא נוכל להשתמש בו לפחות בשנים הקרובות. בדיוק בשביל זה יש שני פץרונות – הראשון הוא הפולבק המוכר והאהוב – עבור כל הדפדפנים הנורמליים נשתמש ב-progress bar ובאמצע, בתוך אלמנט ה-progress bar נשים את ה-divים המוכרים והמשעממים. זה פתרון שיעבוד לכולם, אבל הוא מאד מבאס. היתרון של ה-progress bar בתקן החדש הוא בזה שאנחנו לא צריכים להתעסק עם הדיבים הישנים.

פתרון נוסף הוא polyfill – האק מבוסס javascript שיגרום לאקספלוררים הישנים לתמוך ב-progress bar. איך משתמשים בו. כל מה שצריך לעשות זה להוסיף את progress-polyfill.css ואת progress-polyfill.js אל הקוד שלנו ותהיה לנו תמיכה מלאה באקספלורר 9 ותמיכה חלקית באקספלורר 8. מעכשיו כבר אין תירוץ – אפשר להתחיל להשתמש באלמנט progress bar שהוא גם אלמנט סמנטי יותר מערימת ה-divים שהיינו משתמשים בה עד עכשיו, גם קל לעצב אותו וגם קל להשתמש בו (כל מה שצריך זה רק לשנות את ה-value עם JavaScript, זה הכל).

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. 🙂

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)

תגיות: פורסם בקטגוריה: HTML 5

אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיקכותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי

הטוויטר שלי

פרופיל הפייסבוק שלי

אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.