Chrome ו-Firefox יגיעו בקרוב לגרסה 100 הראשית

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

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

סוכן משתמש (UA) הוא מחרוזת שדפדפנים שולחים בכותרות HTTP, כך שהשרתים יכולים מזהים את הדפדפן. המחרוזת נגישה גם דרך JavaScript באמצעות navigator.userAgent בדרך כלל זה צריך להיות בפורמט הבא:

<browser_name>/<major_version>.<minor_version>

לדוגמה, הגרסאות העדכניות ביותר של הדפדפנים במועד הפרסום פוסט זה הוא:

  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
  • Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15

הגרסה הראשית 100 – מספר גרסה בן שלוש ספרות

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

לוחות הזמנים לגרסה 100

דפדפנים בגרסה 100 יושקו לראשונה בגרסאות ניסיוניות (Chrome) Canary, Firefox Nightly), לאחר מכן גרסאות בטא ולבסוף בגרסה .

דפדפן ציר הזמן
Chrome (גרסה לוח זמנים) 29 במרץ 2022
Firefox (גרסה לוח זמנים) 3 במאי 2022

מדוע מספר גרסה בן שלוש ספרות עלול להיות בעייתי?

כשדפדפנים הגיעו לגרסה 10 לראשונה לפני קצת יותר מ-12 שנים, התגלו בעיות רבות עם ספריות לניתוח של סוכן משתמש, כשמספר הגרסה הראשית הוחלף את הספרה שתיים.

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

מה הדפדפנים עושים בעניין?

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

קיימות גם אסטרטגיות לצמצום הבעיה בגיבוי, למקרה גרסה 100 הפצה לערוצים יציבים גורמת נזק רב יותר לאתרים מהצפוי.

צמצום השימוש ב-Chrome

ב-Chrome, בתוכנית הגיבוי משתמשים בדגל כדי להקפיא את הגרסה הראשית ב-99 ודיווח על מספר הגרסה הראשית האמיתית בחלק הגרסה המשנית של מחרוזת סוכן המשתמש (הקוד כבר נחתה).

גרסת Chrome כפי שדווחה במחרוזת הסוכן המשתמש תואמת לדפוס <major_version>.<minor_version>.<build_number>.<patch_number>

אם משתמשים בתוכנית הגיבוי, המחרוזת של סוכן המשתמש תיראה כך הזה:

99.101.4988.0

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

מיטיגציה של Firefox

ב-Firefox, האסטרטגיה תלויה בחשיבות של התקלה. Firefox כולל מנגנון התערבות באתרים. צוות תאימות האינטרנט של Mozilla יכול לתקן אתרים שבורים ב-Firefox באמצעות על מנגנוני תשומת לב. אם מקלידים about:compat בסרגל כתובות ה-URL של Firefox, אפשר לראות בתיקון כרגע. אם אתר מתקלקל כשהגרסה הראשית היא 100 אפשר לפתור את הבעיה על ידי שליחה של גרסה 99 במקום זאת.

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

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

איך אפשר לעזור?

ב-Chrome וב-Firefox Nightly, ניתן להגדיר שהדפדפן ידווח על עכשיו בגרסה 100 ולדווח על בעיות שבהן נתקלתם.

הגדרת Chrome לדיווח על הגרסה הראשית כ-100

  1. לעבור אל chrome://flags/#force-major-version-to-100.
  2. מגדירים את האפשרות ל-Enabled.

הגדרה של Firefox Nightly כדי לדווח על הגרסה הראשית כ-100

  1. פתיחת תפריט ההגדרות ב-Firefox Nightly
  2. חיפוש "Firefox 100" ואז לבדוק את "סוכן המשתמש של Firefox 100" מחרוזת" כאפשרות.

דוחות בדיקה ודוחות

  • אם אתם מנהלים אתרים, כדאי לבדוק את האתר שלכם באמצעות Chrome. ו-Firefox 100. בודקים את הקוד והספריות לניתוח של סוכן המשתמש, וכן לוודא שהם יכולים לטפל במספרי גרסאות בני שלוש ספרות. יש לנו יצרה כמה דפוסים לא תקינים כרגע.
  • אם פיתחתם ספריית ניתוח של סוכן משתמש, הוסיפו בדיקות לניתוח גרסאות שגדולות מ-100 ושוות ל-100. הבדיקות המוקדמות שלנו מראות כמה גרסאות של ספריות יכולות לטפל בו בצורה נכונה. אבל לאינטרנט יש מורשת ארוכה, כך שאם יש לכם גרסאות ישנות של ניתוח ספריות, כדי לבדוק אם יש בעיות ובסופו של דבר לשדרג.
  • אם אתם גולשים באינטרנט ומבחינים בבעיות עיקריות גרסה 100, לשלוח דוח בכתובת webcompat.com.