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

Joe Medley
Joe Medley

Chrome के करीब-करीब हर वर्शन में, हम बड़ी संख्या में अपडेट देखते हैं और प्रॉडक्ट, उसकी परफ़ॉर्मेंस, और वेब की क्षमताओं में सुधार किया है प्लैटफ़ॉर्म. इस लेख में, Chrome 60 के बंद होने और उसे हटाने की प्रोसेस के बारे में बताया गया है. यह सुविधा बीटा वर्शन में 8 जून से उपलब्ध है. इस सूची में किसी भी समय बदलाव किया जा सकता है.

सुरक्षा

क्रिप्टो.सूबी को अब एक सुरक्षित ऑरिजिन की ज़रूरत है

Web Cookie API का इस्तेमाल तब किया जा रहा है, जब Chrome 37 हमेशा से असुरक्षित प्लैटफ़ॉर्म पर काम करता रहा है ऑरिजिन. Chrome की लंबे समय से बनी रहने वाली नीति के कारण बेहतर सुविधाओं के लिए सुरक्षित ऑरिजिन को प्राथमिकता देना, crypto.subtle सिर्फ़ सुरक्षित ऑरिजिन पर नहीं दिखता.

हटाने का इरादा | Chromium बग

डेटा यूआरएल पर, कॉन्टेंट से शुरू किए गए टॉप फ़्रेम नेविगेशन को हटाना

गैर-तकनीकी ब्राउज़र उपयोगकर्ताओं से अनजान होने के कारण, हम यहां लोगों को झूठे नाम से मेल भेजने और फ़िशिंग के लिए data: स्कीम का इस्तेमाल तेज़ी से दिखाया जा रहा है हमले. इसे रोकने के लिए, हम वेब पेजों को data: यूआरएल लोड करने से रोक रहे हैं स्क्रीन पर रखें. यह <a> टैग, window.open, window.location और इससे मिलते-जुलते दूसरे तरीके. data: स्कीम अब भी इसके लिए काम करेगी किसी पेज के ज़रिए लोड किए गए संसाधन.

यह सुविधा Chrome 58 में बंद कर दी गई थी और अब इसे हटा दिया गया है.

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

कुछ ब्लॉब के लिए, navgator.sendBeacon() को कुछ समय के लिए बंद करें

navigator.sendBeacon() फ़ंक्शन उपलब्ध हो गया है Chrome 39 के बाद से. जैसा मूल रूप से लागू किया गया था, फ़ंक्शन के data तर्क में कोई भी आर्बिट्रेरी BLOB, जिसका टाइप सीओआरएस के लिए सुरक्षित नहीं है. हमें लगता है कि लेकिन किसी ने भी उसका फ़ायदा उठाने की कोशिश नहीं की है. क्योंकि हमें इसे तुरंत ठीक कर सकता है. हालांकि, कुछ समय के लिए sendBeacon() नहीं कर सकता ऐसे ब्लॉब पर भी शुरू नहीं किए जा सकते जिनका टाइप सीओआरएस के लिए सुरक्षित नहीं है.

हालांकि यह बदलाव Chrome 60 के लिए लागू किया गया था, लेकिन बाद में इसे मर्ज कर दिया गया Chrome 59 पर वापस जाएं.

Chromium बग

सीएसएस

शैडो-पियर्सिंग डिसेंडेंट कॉम्बिनेटर को डिसेंडेंट कॉम्बिनेटर की तरह काम करें

शैडो-पियर्सिंग डिसेंडेंट कॉम्बिनेटर (>>>), इसका हिस्सा है सीएसएस स्कोपिंग मॉड्यूल लेवल 1 , को किसी खास पूर्वज तत्व के चिल्ड्रेन से मेल खाने के लिए बनाया गया था भले ही वे किसी गहरे पेड़ के अंदर दिखते हों. इसमें कुछ सीमाएं थीं. सबसे पहले, विनिर्देशों के मुताबिक, यह का उपयोग केवल querySelector() जैसे JavaScript कॉल में किया जा सकता है और इसका नहीं कर सकते हैं. इससे भी अहम बात यह है कि ब्राउज़र वेंडर इसे शैडो DOM के एक लेवल से आगे काम करते हैं.

इस वजह से, डिसेंडेंट कॉम्बिनेटर को ज़रूरी जानकारी से हटा दिया गया है इसमें Shadow DOM v1 शामिल है. इस सिलेक्टर को हटाकर, वेब पेजों को ब्रेक करने के बजाय ने पासवर्ड को शैडो पियर्सिंग डिसेंडेंट से अलग करने का चुनाव किया है डिसेंडेंट कॉम्बिनेटर टू कॉम्बिनेटर. मूल व्यवहार ऐसा था अब Chrome 45 में उपलब्ध नहीं है. यह नई सुविधा Chrome 61 में लागू की गई है.

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

JavaScript

RTCPeerConnection.getStreamById() का इस्तेमाल न करें और उसे हटाएं

करीब दो साल पहले, getStreamById() को WebRTC की स्पेसिफ़िकेशन से हटा दिया गया था. ज़्यादातर दूसरे ब्राउज़र में इसे पहले ही लागू करने की प्रोसेस से हटा दिया गया है. हालांकि, यह फ़ंक्शन है यह माना जाता है कि यह कम इस्तेमाल होता है, लेकिन यह भी माना जाता है कि डिजिटल Safari के अन्य और Edge और WebKit-आधारित ब्राउज़र के साथ इंटरऑपरेबिलिटी से जुड़ा जोखिम जहां getStreamById() अब भी काम करता है. ऐसे डेवलपर जिन्हें किसी अन्य विकल्प की ज़रूरत है लागू करने पर, नीचे दिए गए इंटेंट 'हटाएं' में उदाहरण के तौर पर कोड देखा जा सकता है.

Chrome 62 में, यूआरएल हटाने की प्रोसेस जारी है.

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

SVGPathElement.getPathSegAtLength को हटाएं

दो साल से भी ज़्यादा समय पहले, getPathSegAtLength() को SVG स्पेसिफ़िकेशन से हटा दिया गया था. क्योंकि httparchive में इस तरीके के कुछ ही हिट हैं, इसलिए यह है को Chrome 60 में बंद कर दिया जाएगा. Chrome 62 से हटाए जाने की उम्मीद है, जो अक्टूबर की शुरुआत या मध्य में कुछ समय के लिए शिप किया जाएगा.

इस्तेमाल बंद करने की इच्छा | Chromestatus ट्रैकर | Chromium बग

किसी फ़्लैग के पीछे getContextAttributes() को ले जाएं

getContextAttributes() फ़ंक्शन इस पर समर्थित है CanvasRenderingContext2D 2013 से. हालांकि, यह सुविधा किसी भी स्टैंडर्ड का हिस्सा नहीं थी और एक सदस्य रहा है. इसे लागू किया जाना चाहिए --enable-experimental-canvas-features कमांड लाइन फ़्लैग, लेकिन इसे गलती से इस्तेमाल किया गया था नहीं. Chrome 60 में इस निगरानी को ठीक कर दिया गया है. यह माना जाता है कि बदलाव सुरक्षित है, क्योंकि ऐसा कोई डेटा नहीं है कि कोई इस तरीके का इस्तेमाल कर रहा हो.

Chromium बग

Headers.prototype.getAll() हटाएं

सबसे नए के मुताबिक Headers.prototype.getAll() फ़ंक्शन को हटाया जा रहा है फ़ेच की खास बातों का वर्शन होना चाहिए.

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

इंडेक्स किया गया DB.webkitGetDatabaseNames() हटाएं

हमने इस सुविधा को तब जोड़ा था, जब इंडेक्स किया गया DB, Chrome और प्रीफ़िक्स में बाकी से नया था उस समय रोमांच कम नहीं हुआ करता था. एपीआई, एसिंक्रोनस रूप से मौजूदा डेटाबेस की सूची दिखाता है नाम एक ऐसे ऑरिजिन पर रखें जो समझने में सही लगे.

माफ़ करें, डिज़ाइन खराब है. इसलिए, हो सकता है कि नतीजे जल्द ही पुराने हो जाएं क्योंकि उन्हें वापस लौटा दिया जाता है, इसलिए इसका इस्तेमाल सिर्फ़ लॉगिंग के लिए किया जा सकता है, न कि गंभीर ऐप्लिकेशन लॉजिक के हिसाब से होना चाहिए. कॉन्टेंट बनाने GitHub समस्या ट्रैक/लिंक विकल्पों पर चर्चा की है, जिसके लिए अलग तरीके की ज़रूरत होगी. वैसे तो डेवलपर की ओर से लगातार रुचि दिखाई दे रही है, क्योंकि अन्य ब्राउज़र की प्रगति पर समस्या का हल लाइब्रेरी के लेखकों ने किया है.

जिन डेवलपर को इस सुविधा की ज़रूरत है उन्हें अपना समाधान डेवलप करना होगा. उदाहरण के लिए, Dexie.js जैसी लाइब्रेरी में ग्लोबल टेबल का इस्तेमाल किया जाता है जो डेटाबेस के नाम को ट्रैक करने वाला एक और डेटाबेस है.

यह सुविधा Chrome 58 में बंद कर दी गई थी और अब इसे हटा दिया गया है.

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

WEBKIT_KEYFRAMES_FULL और WEBKIT_KEYFRAME_FULL को निकालें

नॉन-स्टैंडर्ड WEBKIT_KEYFRAMES_RULE और WEBKIT_KEYFRAME_RULE कॉन्सटेंट से निकाल दिए जाते हैं सीएसएस का नियम. इसके बजाय, डेवलपर को KEYFRAMES_RULE और KEYFRAME_RULE का इस्तेमाल करना चाहिए.

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

यूज़र इंटरफ़ेस

beforeunload डायलॉग के लिए उपयोगकर्ता जेस्चर की ज़रूरत होती है

Chrome 60 और उसके बाद के वर्शन पर, beforeunload डायलॉग सिर्फ़ तब दिखेगा, जब फ़्रेम जो उपयोगकर्ता का जेस्चर या इंटरैक्शन करता है या नहीं, यह दिखाने की कोशिश की जा रही है एम्बेड किए गए किसी भी फ़्रेम के लिए इस तरह का जेस्चर मिला है). हम साफ़ तौर पर बताना चाहते हैं कि यह beforeunload इवेंट के डिस्पैच में बदलाव करें. यह सिर्फ़ एक बदलाव है कि डायलॉग दिखाया जाए या नहीं.

beforeunload डायलॉग एक ऐप्लिकेशन-मॉडल डायलॉग बॉक्स है. इसलिए, यह स्वाभाविक रूप से उपयोगकर्ता-विरोधी का मतलब है कि यह उपयोगकर्ता की तय करें. इस सुविधा का इस्तेमाल कई तरीकों से किया जा रहा है. उदाहरण के लिए, इसे अक्सर इसका उपयोग किया जाता है का इस्तेमाल किया जा सकता है.

हालांकि, beforeunload डायलॉग के लिए पेज पर टेक्स्ट देने की सुविधा यह थी कुछ समय पहले हटाए गए, beforeunload डायलॉग अब भी बुरे बर्ताव का विषय हैं. तय सीमा में खास तौर पर, beforeunload डायलॉग, धोखाधड़ी वाली वेबसाइटों का अहम हिस्सा हैं. अपने-आप चलने वाले ऑडियो और धमकी वाले टेक्स्ट से, यह जानकारी मिलती है कि Chromium "क्या आपको वाकई इस पेज से बाहर निकलना है" विकल्प के साथ तो परेशान करने वाला मैसेज हो जाता है.

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