2016-10-21 10 views
8

नहीं होना चाहिए, मैं अब polyfill के माध्यम से कस्टम तत्व v1 का उपयोग कर रहा हूं।'दस्तावेज़' पर 'createElement' निष्पादित करने में विफल: परिणाम में

DOMException: क्रोम 54 (एक देशी v1 कार्यान्वयन के साथ पहला संस्करण) त्रुटियों फेंक जब मेरे तत्वों आरंभ शुरू कर दिया 'दस्तावेज़' चालू 'createElement' निष्पादित करने में विफल: परिणाम बच्चों

नहीं होना चाहिए

हमलावर लाइन एक सरल है:

let el = document.createElement('my-custom-element'); 

उत्तर

6

Chrome की देशी कार्यान्वयन प्रतीत होता है विनिर्देश आवश्यकताओं कि polyfill नहीं था लागू करने जाना है।

तत्व कोई गुण या बच्चों को लाभ नहीं होना चाहिए, क्योंकि यह उपभोक्ताओं को createElement या createElementNS तरीकों का उपयोग की उम्मीदों का उल्लंघन करती है: "Requirements for custom element constructors" कल्पना की धारा के अनुसार।

वह तत्व जो मैं अपने कन्स्ट्रक्टर में अपने आप को अतिरिक्त बच्चों को बनाने का प्रयास कर रहा था।

सामान्य तौर पर, काम connectedCallback संभव-विशेष रूप से प्राप्त कर रहा है संसाधनों या प्रतिपादन शामिल काम के रूप में के रूप में ज्यादा के लिए स्थगित किया जाना चाहिए:

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

यही है, कनेक्ट किए गए कॉलबैक में बच्चों को जोड़ें और यह सुनिश्चित करने के लिए ध्वज का उपयोग करें कि तत्व केवल पहले कनेक्शन पर प्रारंभ किया गया है।

संबंधित मुद्दे