הוצאה משימוש והסרות ב-Chrome 80

Joe Medley
Joe Medley

אין הרשאה ל-XMLHTTPRequest() סינכרוני בסגירת דף

עכשיו Chrome לא מאפשר קריאות מסונכרנות ל-XMLHTTPRequest() במהלך הדף נסגרת כשהמשתמש מנווט אל מחוץ לדף או נסגר על ידי המשתמש. הכלל הזה חל על beforeunload, unload, pagehide ועל visibilitychange.

כדי להבטיח שהנתונים נשלחים לשרת כשטעינת דף מתבצעת, מומלץ sendBeacon() או Fetch keep-alive. נכון לעכשיו, משתמשים בגרסה הארגונית יכולים להשתמש סימון המדיניות AllowSyncXHRInPageDismissal ומפתחים יכולים להשתמש במקור סימון בניסוי allow-sync-xhr-in-page-dismissal כדי לאפשר בקשות XHR סינכרוניות במהלך הסרת הדף. זהו "ביטול הסכמה" זמני ואנחנו מצפים הסרת הדגל הזה ב-Chrome 88.

למידע נוסף בנושא הזה ועל החלופות, ראו איסור על XMLHTTPRequest() סינכרוני במהלך סגירת דף.

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

התמיכה ב-FTP הוצאה משימוש

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

Chrome 72 הסיר את התמיכה באחזור משאבי משנה של מסמכים דרך FTP ו רינדור של משאבי FTP ברמה העליונה. ניווט כרגע לתוצאות של כתובות URL של FTP בהצגת רשימה או הורדה של רשימה, בהתאם לסוג המשאב. באג ב-Google Chrome 74 ואילך גרם להפסקת התמיכה בגישה כתובות URL של FTP דרך שרתי proxy של HTTP. התמיכה של שרת ה-proxy ב-FTP הוסרה לחלוטין ב-Google Chrome 76.

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

לוח הזמנים של ההוצאה משימוש מוגדר באופן טנטטיבי כך:

Chrome 80 (יציב בפברואר 2020)

כברירת מחדל, FTP מושבת בלקוחות שאינם ארגוניים, אבל יכול להיות שהוא מופעל. באמצעות --enable-ftp או --enable-features=FtpProtocol דגלי שורת פקודה. לחלופין, אפשר להפעיל אותו באמצעות #enable-ftp בכתובת chrome://flags.

Chrome 81 (יציב במרץ 2020)

כברירת מחדל, FTP מושבת בכל ההתקנות של Chrome, אבל אפשר להפעיל אותו. באמצעות --enable-ftp או --enable-features=FtpProtocol דגלי שורת פקודה.

Chrome 82 (יציב באפריל 2020)

התמיכה ב-FTP תוסר לחלוטין.

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

אין לאפשר חלונות קופצים במהלך הסרת הדף

דפים לא יכולים יותר להשתמש ב-window.open() לפתיחת דף חדש במהלך הסרת הנתונים שנטענו. חוסם החלונות הקופצים של Chrome כבר אסר על כך, אך כעת אסור אם או לא, חוסם החלונות הקופצים מופעל.

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

כוונת הסרה | Chromestatus tracker | באג ב-Chromium

פעולות סריאליות והעברה של ImageBitmap שלא נקיות מהמקור הוסרו

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

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

עכשיו נדרש הקשר מאובטח לטיפול בפרוטוקולים

השיטות registerProtocolHandler() ו-unregisterProtocolHandler() עכשיו נדרש הקשר מאובטח. השיטות האלה יכולות להגדיר מחדש מצבי לקוח כך הן יאפשרו העברה של מידע שעשוי להיות רגיש עמוקה מאוד,

השיטה registerProtocolHandler() נותנת לדף אינטרנט מנגנון לרישום עצמו לטיפול בפרוטוקול לאחר שמשתמש מביע הסכמה. לדוגמה, מודל שיוך מבוסס-אינטרנט אפליקציית האימייל יכולה להירשם לטיפול בסכימה mailto:. הערכים המתאימים השיטה unregisterProtocolHandler() מאפשרת לאתר לנטוש את שלו רישום לטיפול בפרוטוקולים.

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

רכיב האינטרנט v0 הוסר

גרסה 0 של רכיבי אינטרנט הוסרו עכשיו מ-Chrome. ממשקי ה-API של גרסה 1 של רכיבי האינטרנט תקן של פלטפורמת אינטרנט שנשלח ב-Chrome, Safari, Firefox וגם (בקרוב) קצה. לקבלת הנחיות לגבי שדרוג, אפשר לקרוא את המאמר עדכון רכיבי אינטרנט: זמן נוסף לשדרוג ל-v1 APIs. התכונות הבאות הוסרו. ההוצאה משימוש הזו כוללת את הפריטים שמפורטות בהמשך.

רכיבים מותאמים אישית

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

ייבוא HTML

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

DOM של הצללה

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

הסרת -webkit-appearance:button לרכיבים שרירותיים

שינוי -webkit-appearance:button כך שיפעל רק עם <button> ועם <input> הלחצנים. אם צוין button עבור רכיב שאינו נתמך, הרכיב מראה ברירת המחדל. כל שאר -webkit-appearance מילות המפתח כבר קיימות הגבלה כזו.

כוונת הסרה | סטטוס פלטפורמת Chrome | באג ב-Chromium

מדיניות הוצאה משימוש

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

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

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

ב-Chrome יש כרגע תהליך להוצאה משימוש והסרה של ממשקי API, בעיקרון:

  • הודעה ברשימת התפוצה blink-dev.
  • מגדירים אזהרות וקובעים מגבלות זמן במסוף כלי הפיתוח ל-Chrome כשהמערכת מזהה שימוש בדף.
  • מומלץ להמתין, לעקוב ולהסיר את התכונה עם ירידות בשימוש.

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