Chrome 80 में बंद करना और हटाना

Joe Medley
Joe Medley

पेज खारिज करने के दौरान, सिंक करने के लिए XMLHTTPRequest() को अनुमति न दें

Chrome अब पेज को खारिज करने के दौरान, XMLHTTPRequest() को सिंक करने वाले कॉल की अनुमति नहीं देता. ऐसा तब होता है, जब उपयोगकर्ता किसी दूसरे पेज पर नेविगेट करता है या पेज को बंद करता है. यह beforeunload, unload, pagehide, और visibilitychange पर लागू होता है.

हमारा सुझाव है कि पेज अनलोड होने पर, डेटा को सर्वर पर भेजने के लिए, sendBeacon() या Fetch keep-alive का इस्तेमाल करें. फ़िलहाल, एंटरप्राइज़ उपयोगकर्ता AllowSyncXHRInPageDismissal नीति फ़्लैग का इस्तेमाल कर सकते हैं. साथ ही, डेवलपर पेज अनलोड होने के दौरान सिंक्रोनस XHR अनुरोधों को अनुमति देने के लिए, ऑरिजिन ट्रायल फ़्लैग allow-sync-xhr-in-page-dismissal का इस्तेमाल कर सकते हैं. यह "ऑप्ट-आउट" करने का एक अस्थायी तरीका है. हमें उम्मीद है कि हम Chrome 88 में इस फ़्लैग को हटा देंगे.

इस और अन्य विकल्पों के बारे में ज़्यादा जानने के लिए, पेज खारिज करने के दौरान सिंक करने के लिए XMLHTTPRequest() को अनुमति न देना लेख पढ़ें.

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

एफ़टीपी की सुविधा बंद कर दी गई है

Chrome में एफ़टीपी की मौजूदा सुविधा, एन्क्रिप्ट किए गए कनेक्शन (एफ़टीपीएस) या प्रॉक्सी के साथ काम नहीं करती. ब्राउज़र में एफ़टीपी का इस्तेमाल इतना कम होता है कि मौजूदा एफ़टीपी क्लाइंट को बेहतर बनाने में अब कोई फ़ायदा नहीं है. इसके अलावा, जिन प्लैटफ़ॉर्म पर इस समस्या का असर पड़ा है उन पर बेहतर एफ़टीपी क्लाइंट उपलब्ध हैं.

Chrome 72 में, एफ़टीपी (फ़ाइल ट्रांसफ़र प्रोटोकॉल) से दस्तावेज़ के सब-रिसॉर्स फ़ेच करने और टॉप लेवल के एफ़टीपी रिसॉर्स को रेंडर करने की सुविधा हटा दी गई है. फ़िलहाल, एफ़टीपी यूआरएल पर जाने पर, संसाधन के टाइप के आधार पर डायरेक्ट्री लिस्टिंग या डाउनलोड दिखता है. Google Chrome 74 और उसके बाद के वर्शन में मौजूद एक गड़बड़ी की वजह से, एचटीटीपी प्रॉक्सी के ज़रिए एफ़टीपी यूआरएल ऐक्सेस करने की सुविधा बंद कर दी गई है. Google Chrome 76 में, एफ़टीपी के लिए प्रॉक्सी की सुविधा पूरी तरह से हटा दी गई थी.

Google Chrome में एफ़टीपी की सुविधा के बाकी कामों पर पाबंदी लगी है. जैसे, डायरेक्ट्री लिस्टिंग दिखाना या एन्क्रिप्ट (सुरक्षित) नहीं किए गए कनेक्शन से संसाधन डाउनलोड करना.

इस सुविधा के बंद होने की टाइमलाइन, फ़िलहाल इस तरह सेट की गई है:

Chrome 80 (फ़रवरी 2020 में स्टेबल वर्शन)

नॉन-एंटरप्राइज़ क्लाइंट के लिए, एफ़टीपी डिफ़ॉल्ट रूप से बंद रहता है. हालांकि, --enable-ftp या --enable-features=FtpProtocol कमांड-लाइन फ़्लैग का इस्तेमाल करके, इसे चालू किया जा सकता है. इसके अलावा, इसे chrome://flags पर #enable-ftp विकल्प का इस्तेमाल करके भी चालू किया जा सकता है.

Chrome 81 (मार्च 2020 में स्टेबल वर्शन)

Chrome के सभी इंस्टॉल के लिए, एफ़टीपी डिफ़ॉल्ट रूप से बंद रहता है. हालांकि, इसे --enable-ftp या --enable-features=FtpProtocol कमांड-लाइन फ़्लैग का इस्तेमाल करके चालू किया जा सकता है.

Chrome 82 (अप्रैल 2020 में रिलीज़ हुआ स्टेबल वर्शन)

एफ़टीपी की सुविधा पूरी तरह से हटा दी जाएगी.

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

पेज अनलोड होने के दौरान पॉप-अप दिखाने की अनुमति न दें

पेज, अनलोड होने के दौरान नया पेज खोलने के लिए window.open() का इस्तेमाल नहीं कर सकते. Chrome के पॉप-अप ब्लॉकर ने पहले से ही इस पर पाबंदी लगा रखी है. हालांकि, अब पॉप-अप ब्लॉकर के चालू होने या न होने से कोई फ़र्क़ नहीं पड़ता.

अनलोड होने के दौरान पॉप-अप दिखाने की अनुमति देने के लिए, एंटरप्राइज़ AllowPopupsDuringPageUnload नीति फ़्लैग का इस्तेमाल कर सकते हैं. Chrome 82 में, इस फ़्लैग को हटा दिया जाएगा.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

बिना ऑरिजिन क्लीन वाले ImageBitmap को सीरियलाइज़ करने और ट्रांसफ़र करने की सुविधा हटाई गई

अब जब कोई स्क्रिप्ट, ऑरिजिन से जुड़ी जानकारी हटाए बिना बनाई गई ImageBitmap को सीरियलाइज़ या ट्रांसफ़र करने की कोशिश करेगी, तब गड़बड़ियां दिखेंगी. ऑरिजिन से जुड़ी जानकारी न होने वाली ImageBitmap ऐसी होती है जिसमें क्रॉस-ऑरिजिन इमेज का डेटा होता है. इस डेटा की पुष्टि, सीओआरएस लॉजिक से नहीं की जाती.

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

प्रोटोकॉल को हैंडल करने के लिए, अब सुरक्षित कॉन्टेक्स्ट की ज़रूरत है

registerProtocolHandler() और unregisterProtocolHandler() तरीकों के लिए, अब सुरक्षित कॉन्टेक्स्ट की ज़रूरत है. ये तरीके, क्लाइंट स्टेटस को फिर से कॉन्फ़िगर कर सकते हैं, ताकि वे नेटवर्क पर संवेदनशील डेटा को ट्रांसफ़र कर सकें.

registerProtocolHandler() तरीके से, वेबपेज को एक प्रोटोकॉल को मैनेज करने के लिए, खुद को रजिस्टर करने का तरीका मिलता है. ऐसा, उपयोगकर्ता की सहमति मिलने के बाद होता है. उदाहरण के लिए, वेब-आधारित ईमेल ऐप्लिकेशन, mailto: स्कीम को मैनेज करने के लिए रजिस्टर हो सकता है. इससे जुड़े unregisterProtocolHandler() तरीके की मदद से, किसी साइट को प्रोटोकॉल मैनेज करने के लिए किया गया रजिस्ट्रेशन छोड़ने की अनुमति मिलती है.

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

Web Components v0 को हटा दिया गया

Web Components v0 को अब Chrome से हटा दिया गया है. Web Components v1 API, वेब प्लैटफ़ॉर्म के लिए बने स्टैंडर्ड हैं. ये Chrome, Safari, Firefox, और जल्द ही Edge में उपलब्ध होंगे. अपग्रेड करने के बारे में दिशा-निर्देश पाने के लिए, वेब कॉम्पोनेंट से जुड़ा अपडेट: v1 एपीआई पर अपग्रेड करने के लिए ज़्यादा समय लेख पढ़ें. ये सुविधाएं अब हटा दी गई हैं. नीचे दिए गए आइटम पर यह बदलाव लागू होगा.

कस्टम एलिमेंट

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

एचटीएमएल इंपोर्ट

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

शैडो डीओएम

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

मनमुताबिक एलिमेंट के लिए -webkit-appearance:button को हटाएं

-webkit-appearance:button को सिर्फ़ <button> और <input> बटन के साथ काम करने के लिए बदलता है. अगर किसी ऐसे एलिमेंट के लिए button तय किया गया है जिसे इंपोर्ट नहीं किया जा सकता, तो एलिमेंट का डिफ़ॉल्ट रूप दिखता है. सभी अन्य -webkit-appearance कीवर्ड पर पहले से ही ऐसी पाबंदी है.

हटाने का इंटेंट | Chrome प्लैटफ़ॉर्म का स्टेटस | Chromium में मौजूद गड़बड़ी

बंद किए जाने की नीति

प्लैटफ़ॉर्म को बेहतर बनाए रखने के लिए, हम वेब प्लैटफ़ॉर्म से ऐसे एपीआई हटा देते हैं जो काम नहीं कर रहे हैं. एपीआई को हटाने की कई वजहें हो सकती हैं. जैसे:

  • इनकी जगह नए एपीआई ले चुके हैं.
  • इन्हें अपडेट किया जाता है, ताकि अन्य ब्राउज़र के साथ अलाइनमेंट और एक जैसी सुविधाएं मिल सकें.
  • ये शुरुआती एक्सपेरिमेंट हैं, जो दूसरे ब्राउज़र में कभी काम नहीं आए. इसलिए, इनकी वजह से वेब डेवलपर को सहायता देने में ज़्यादा समय लग सकता है.

इनमें से कुछ बदलावों का असर बहुत कम साइटों पर पड़ेगा. समस्याओं को पहले से कम करने के लिए, हम डेवलपर को पहले से सूचना देने की कोशिश करते हैं, ताकि वे अपनी साइटों को चालू रखने के लिए ज़रूरी बदलाव कर सकें.

फ़िलहाल, Chrome में एपीआई को बंद करने और हटाने की प्रोसेस मौजूद है. इसमें ये काम होते हैं:

  • blink-dev की मेलिंग सूची में इसकी सूचना दें.
  • जब पेज पर ट्रैफ़िक का पता चलता है, तो Chrome DevTools कंसोल में चेतावनियां सेट करें और समयावधि दें.
  • इंतज़ार करें, निगरानी करें, और फिर इस्तेमाल में गिरावट आने पर सुविधा को हटाएं.

chromestatus.com पर, अब काम नहीं करने वाली सुविधाओं के फ़िल्टर का इस्तेमाल करके, अब काम नहीं करने वाली सभी सुविधाओं की सूची देखी जा सकती है. साथ ही, हटाई गई सुविधाओं के फ़िल्टर का इस्तेमाल करके, हटाई गई सुविधाओं की सूची देखी जा सकती है. हम इन पोस्ट में, कुछ बदलावों, उनकी वजहों, और माइग्रेशन पाथ के बारे में खास जानकारी देने की कोशिश करेंगे.