הפעלה אוטומטית מושתקת בנייד – נגמרו הימים של פריצות קנבס וקובצי GIF מונפשים.

התכונה 'הפעלה אוטומטית מושתקת' נתמכת על ידי Chrome ל-Android החל מגרסה 53. ההפעלה של רכיב וידאו תתחיל באופן אוטומטי לאחר שהוא יופיע בתצוגה אם autoplay וגם muted הוגדרו. ניתן להפעיל הפעלה באופן פרגמטי באמצעות play(). בעבר, הפעלה בנייד הייתה צריכה להתחיל בתנועת משתמש, ללא קשר למצב ההשתקה.

<video autoplay muted>
    <source src="video.webm" type="video/webm" />
    <source src="video.mp4" type="video/mp4" />
</video>

אפשר לראות את זה בזמן אמת בדוגמה הזו. ההפעלה של הסרטון muted מתחילה באופן אוטומטי ב-Chrome 53 ואילך.

צילום מסך של נגן וידאו.

בנוסף, עכשיו ניתן להפעיל הפעלה מושתקת באמצעות השיטה play(). בעבר, ההפעלה של play() הייתה מופעלת רק אם היא התרחשה בעקבות תנועת משתמש כמו לחיצה על לחצן. השוו את שתי ההדגמות הבאות ב-Android — נסו אותן ב-Chrome 53 ולאחר מכן בגרסה ישנה יותר:

מומלץ להשתמש במאפיין autoplay כשאפשר, ובשיטה play() רק אם יש צורך.

אפשר לבטל השתקה של סרטון באופן פרוגרמטי בתגובה לתנועת משתמש כמו click, אבל אם תנסו לבטל השתקה של סרטון באופן פרוגרמטי ללא תנועת משתמש, ההפעלה תושהה.

השינוי של muted autoplay יאפשר גם להשתמש ב-play() עם רכיב video שלא נוצר ב-DOM, לדוגמה כדי לעודד הפעלה של WebGL.

השיטה play() גם מחזירה הבטחה, שאפשר להשתמש בה כדי לבדוק אם הפעלה פרוגרמטית מושתקת מופעלת. יש דוגמה לכך בכתובת simpl.info/video/scripted.

מה הסיבה לשינוי?

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

להשבתת ההפעלה האוטומטית הייתה השפעה בלתי מכוונת. אנשים נעזרים בחלופות, כמו קובצי GIF מונפשים, וגם פרצות ל-<canvas> ול-<img>. הטכניקות האלה הרבה יותר גרועות מסרטונים שעברו אופטימיזציה מבחינת צריכת חשמל, ביצועים, דרישות רוחב פס, עלות נתונים ושימוש בזיכרון. סרטונים יכולים לספק איכות גבוהה יותר מאשר קובצי GIF מונפשים, עם דחיסת נתונים טובה הרבה יותר: כ-10 פעמים בממוצע ועד 100 פעמים, במקרה הטוב ביותר. אפשר לפענח את הסרטון ב-JavaScript, אבל אז הסוללה עלולה להתרוקן מאוד.

משווים בין האפשרויות הבאות – הראשון הוא סרטון והשני הוא GIF מונפש:

הקליפ מופעל.

התמונות נראות די דומות, אבל הסרטון קטן מ-200KB וקובץ ה-GIF המונפש הוא מעל 900KB.

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

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

הנקודות המדויקות יותר

  • מבחינת נגישות, הפעלה אוטומטית יכולה להיות בעייתית במיוחד. ב-Chrome מגרסה 53 ואילך ב-Android יש הגדרה להשבתה מוחלטת של ההפעלה האוטומטית: בהגדרות המדיה, בוחרים באפשרות 'הפעלה אוטומטית'.
  • השינוי הזה לא משפיע על הרכיב audio: ההפעלה האוטומטית עדיין מושבתת ב-Chrome ב-Android, כי הפעלה אוטומטית במצב מושתק לא מתאימה במיוחד לאודיו.
  • לא תתבצע הפעלה אוטומטית אם מצב חוסך הנתונים (Data Saver) מופעל. אם מצב חוסך הנתונים (Data Saver) מופעל, ההפעלה האוטומטית מושבתת בהגדרות המדיה.
  • התכונה 'הפעלה אוטומטית מושתקת' תפעל עבור כל רכיב וידאו גלוי בכל מסמך גלוי, iframe או בדרכים אחרות.
  • חשוב לזכור שכדי לנצל את ההתנהגות החדשה, צריך להוסיף את muted וגם את autoplay: יש להשוות בין simpl.info/video לבין simpl.info/video/muted.

תמיכה

  • התכונה 'הפעלה אוטומטית מושתקת' נתמכת ב-Safari ב-iOS 10 ואילך.
  • התכונה 'הפעלה אוטומטית', גם אם היא לא מושתקת, כבר נתמכת ב-Android על ידי Firefox ודפדפן UC: הן לא חוסמות הפעלה אוטומטית מכל סוג שהוא.

למידע נוסף