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, זה הכל).

פוסטים נוספים שכדאי לקרוא

רספברי פיי

הרצת גו על רספברי פיי

עולם הרספברי פיי והמייקרים ניתן לתפעול בכל שפה – לא רק פייתון או C – כאן אני מסביר על גו

ספריות ומודולים

מציאת PII באמצעות למידת מכונה

כך תגנו על משתמשים שלכם שמעלים מידע אישי רגיש כמו תעודות זהות באמצעות שירות אמאזוני.

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

גלילה לראש העמוד