2012-03-19 21 views
5

लोड करने से पहले डोम संशोधित करें डीओएम पूरी तरह से निर्मित होने से पहले मेरे क्रोम एक्सटेंशन को डीओएम तत्व को संशोधित करना चाहिए, और सर्वोत्तम परिदृश्य में, इस डीओएम तत्व के निर्माण के ठीक बाद।क्रोम एक्सटेंशन:

उदाहरण के लिए, यदि मेरे पास मेरे दस्तावेज़ में है, तो मैं इसे बनाए जाने तक प्रतीक्षा करना चाहता हूं, फिर बाकी डीओएम का निर्माण करने से पहले इसे सीधे संशोधित करना चाहता हूं।

लेकिन तत्व बनाने के पहले और पूरे डोम के निर्माण के बाद ही मैं केवल डीओएम तक पहुंचने में कामयाब रहा।

तो मैं एक विशेष तत्व के निर्माण को कैसे सुनूं?

उत्तर

3

आप का उपयोग DOMNodeInserted ईवेंट के साथ कर सकते हैं। नोड्स का निर्माण किया जाएगा और आपको डीओएम में डालने से पहले उन्हें संशोधित करने का मौका मिलेगा। निम्नलिखित की तरह कुछ काम करना चाहिए।

function nodeInsertedCallback(event) { 
    console.log(event); 
}; 
document.addEventListener('DOMNodeInserted', nodeInsertedCallback); 

 

+0

तुम भी jQuery शामिल हैं और, का उपयोग $ (function() {}) के बाद डोम बनाया गया है चलाने के लिए पृष्ठ के लोड होते से पहले हो सकता है। – jjNford

+0

आपकी मदद के लिए धन्यवाद। डीओएम पूरी तरह से निर्मित होने से पहले यह घटना ट्रिगर की गई है, लेकिन इससे मुझे दिखाए जाने से पहले डीओएम सामग्री को संशोधित करने की अनुमति नहीं मिलती है। यह केवल स्क्रिप्ट द्वारा गतिशील रूप से जोड़े गए तत्व के लिए ट्रिगर्स करता है। –

+1

DOMNodeInserted ईवेंट बहिष्कृत किया गया है। इसके बजाय [उत्परिवर्तन पर्यवेक्षक] [1] का प्रयोग करें। [1]: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver – Ignat

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