निकालें विशेषता परिभाषित `onload` से `<शरीर>`

0

सवाल

मैं पर काम कर रहा है यह कुछ घंटों के लिए और कर रहा हूँ इस मुद्दे पर जहां मुझे लगता है कि मैं कोशिश कर सकता को पूरा करने के लिए कुछ असाध्य. किसी भी सलाह या जानकारी निश्चित रूप से सराहना की है!

उपयोग के मामले में मैं कर रहा हूँ लक्ष्यीकरण की आवश्यकता दखल ब्राउज़र डोम पार्स करने से पहले यह एक मौका है करने के लिए आकर्षित <body> तत्व. यह पूरा करने के लिए, मैं का उपयोग किया है यह एक लाइनर के रूप में पहले स्क्रिप्ट कहा जाता है में <head> तत्व:

document.replaceChild(document.createElement('html'), document.children[0]);

यह सफलतापूर्वक रोकता है, ब्राउज़र बुला से किसी भी बाद में स्क्रिप्ट, और <body> तत्व रहता है संयुक्त राष्ट्र गाया । हालांकि, अगर मार्कअप शामिल हैं onload पर विशेषता <body> तत्व है कि फ़ंक्शन या कोड अभी भी कहा जाता है ब्राउज़र द्वारा.

संदर्भ के रूप में जो अवरोध डोम पार्स करने में है <head>, मैं का उपयोग नहीं कर सकते document.body.removeEventListener() ड्रॉप करने के लिए घटना श्रोता, क्योंकि body तत्व मौजूद नहीं है अभी तक. सेटिंग window.onload करने के लिए null कोई प्रभाव नहीं है, और न ही करने की कोशिश कर रहा अवरोधन की स्थापना window.onload का उपयोग कर Object.defineProperty(window, 'onload', {...}). प्रत्येक मामले में, onload समारोह या बयान अभी भी कहा जाता है ।

की जगह ले लेना करने के स्पष्ट प्रश्न के रूप में क्यों मैं नहीं कर सकते हैं बस का उपयोग करने से बचें <body onload="...">उपयोग के मामले में डेवलपर के लिए टूलींग, तो मैं कोशिश कर रहा हूँ बनाने के लिए आकस्मिकता के लिए कुछ निरपेक्ष स्थिति. यदि यह नहीं किया जा सकता है, यह नहीं है हत्यारा करने के लिए मेरी परियोजना है, लेकिन मैं यकीन के लिए पता है क्यों यह नहीं किया जा सकता है.

अग्रिम में धन्यवाद!

events html javascript
2021-11-21 14:39:38
1

सबसे अच्छा जवाब

2

आप उपयोग कर सकते हैं दस्तावेज़ readystate पर interactive राज्य है, और अधिलेखित onload विशेषता है ।

document.onreadystatechange = () => {
   if (document.readyState === 'interactive') 
      window.onload = null;
}

(जोड़ा अपने कोड से अपनी टिप्पणी के लिए पूर्णता.)

2021-11-21 15:08:35

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में