Chrome 63 में ::Shadow और /deep/ को हटाया जा रहा है

Chrome 63 से, शैडो रूट में मौजूद कॉन्टेंट को स्टाइल करने के लिए, शैडो-पियर्सिंग सिलेक्टर ::shadow और /deep/ का इस्तेमाल नहीं किया जा सकता.

  • /deep/ कॉम्बिनेटर, डिसेंटेंट सिलेक्टर के तौर पर काम करेगा. x-foo /deep/ div x-foo div की तरह काम करेगा.
  • ::shadow स्यूडो-एलिमेंट किसी भी एलिमेंट से मैच नहीं करेगा.

वीडियो हटाने का फ़ैसला

::shadow और /deep/ को Chrome के वर्शन 45 में बंद कर दिया गया था. अप्रैल 2015 के वेब कॉम्पोनेंट मीटअप में हिस्सा लेने वाले सभी लोगों ने इस नाम को चुना था.

शैडो-पियर्सिंग सिलेक्टर से जुड़ी मुख्य समस्या यह है कि वे एन्कैप्सलेशन का उल्लंघन करते हैं और ऐसी स्थितियां पैदा करते हैं जहां कोई कॉम्पोनेंट अपने अंदर लागू किए गए तरीके को बदल नहीं सकता.

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

अगर मेरी साइट ::shadow और /deep/ का इस्तेमाल करती है, तो मुझे क्या करना चाहिए?

::shadow और /deep/ सिलेक्टर का असर सिर्फ़ लेगसी शैडो डीओएम v0 कॉम्पोनेंट पर पड़ता है. अगर Shadow DOM v1 का इस्तेमाल किया जा रहा है, तो आपको अपनी साइट पर कुछ भी बदलने की ज़रूरत नहीं है.

Chrome Canary का इस्तेमाल करके, यह पुष्टि की जा सकती है कि इन नए बदलावों से आपकी साइट पर कोई असर नहीं पड़ा है. अगर आपको कोई समस्या दिखती है, तो ::shadow और /deep/ का इस्तेमाल हटाने की कोशिश करें. अगर इन सिलेक्टर का इस्तेमाल हटाना बहुत मुश्किल है, तो नेटिव शैडो डीओएम से, शैडो डीओएम पॉलीफ़िल पर स्विच करें. आपको यह बदलाव सिर्फ़ तब करना होगा, जब आपकी साइट नेटिव शैडो DOM v0 पर निर्भर हो.

ज़्यादा जानकारी

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