איסור שליחת 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 לא תומכת בחיבורים מוצפנים (FTPS) או בשרתי 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 מתכנן להסיר את הדגל הזה ב-Chrome 82.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת היכולת לסדר ולשלוח נתוני ImageBitmap שלא נקיים במקור
מעכשיו, יישלחו שגיאות כשסקריפט ינסה לסדר נתונים בסדר כרונולוגי או להעביר ImageBitmap שלא נקי מהמקור. ImageBitmap לא נקי מבחינת המקור הוא כזה שמכיל נתונים מתמונות ממקורות שונים שלא אומתו על ידי לוגיקה של CORS.
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
טיפול בפרוטוקולים מחייב עכשיו הקשר מאובטח
השיטות registerProtocolHandler()
ו-unregisterProtocolHandler()
דורשות עכשיו הקשר מאובטח. השיטות האלה יכולות לשנות את המצבים של לקוחות כך שיאפשרו העברה של מידע אישי רגיש פוטנציאלי ברשת.
השיטה registerProtocolHandler()
מספקת לדף אינטרנט מנגנון להרשמה לטיפול בפרוטוקול אחרי שהמשתמש נותן הסכמה. לדוגמה, אפליקציית אימייל מבוססת-אינטרנט יכולה להירשם לטיפול בסכימה mailto:
. השיטה המתאימה unregisterProtocolHandler()
מאפשרת לאתר לבטל את הרישום לטיפול בפרוטוקול.
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
Web Components v0 הוסר
Web Components v0 הוסרו מ-Chrome. ממשקי ה-API של Web Components v1 הם תקן של פלטפורמת אינטרנט ששוחרר ב-Chrome, ב-Safari, ב-Firefox וב-Edge (בקרוב). לקבלת הנחיות לשדרוג, אפשר לקרוא את המאמר עדכון לגבי Web Components: יותר זמן לשדרוג לממשקי API בגרסה 1. התכונות הבאות הוסרו. ההוצאה משימוש חלה על הפריטים שמפורטים בהמשך.
רכיבים מותאמים אישית
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
ייבוא קובצי HTML
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
Shadow DOM
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
הסרת -webkit-appearance:button עבור רכיבים שרירותיים
שינוי -webkit-appearance:button
כך שיפעל רק עם הלחצנים <button>
ו-<input>
. אם button
צוין לרכיב שלא נתמך, הרכיב יקבל את המראה שמוגדר כברירת מחדל. כל שאר מילות המפתח מסוג -webkit-appearance
כבר מוגבלות.
כוונה להסרה | סטטוס הפלטפורמה של Chrome | באג ב-Chromium
מדיניות הוצאה משימוש
כדי לשמור על בריאות הפלטפורמה, אנחנו מסירים לפעמים ממשקי API מפלטפורמת האינטרנט שהשימוש בהם הסתיים. יש הרבה סיבות לכך שנחליט להסיר ממשק API, למשל:
- הם הוחלפו בממשקי API חדשים יותר.
- הם מתעדכנים בהתאם לשינויים במפרטים כדי לשמור על תאימות ועקביות עם דפדפנים אחרים.
- אלה ניסויים מוקדמים שלא הבשילו לדרגת תמיכה בדפדפנים אחרים, ולכן הם עלולים להגדיל את נטל התמיכה למפתחי אתרים.
חלק מהשינויים האלה ישפיעו על מספר קטן מאוד של אתרים. כדי למזער בעיות מראש, אנחנו מנסים להודיע למפתחים מראש כדי שיוכלו לבצע את השינויים הנדרשים כדי שהאתרים שלהם ימשיכו לפעול.
ב-Chrome יש כרגע תהליך להוצאה משימוש ולהסרה של ממשקי API. באופן כללי, התהליך כולל את השלבים הבאים:
- להודיע על כך ברשימת התפוצה blink-dev.
- להגדיר אזהרות ולציין סולמות זמן במסוף DevTools של Chrome כשמתגלה שימוש בדף.
- מחכים, עוקבים אחרי השימוש בתכונה ואז מסירים אותה כשהשימוש בה יורד.
אפשר למצוא רשימה של כל התכונות שהוצאו משימוש בכתובת chromestatus.com באמצעות המסנן 'תכונות שהוצאו משימוש' , ותכונות שהוסרו באמצעות המסנן 'תכונות שהוסרו'. ננסה גם לסכם בפוסט הזה חלק מהשינויים, מההסברים ומנתיבי ההעברה.