मैं पर काम कर रहा है यह कुछ घंटों के लिए और कर रहा हूँ इस मुद्दे पर जहां मुझे लगता है कि मैं कोशिश कर सकता को पूरा करने के लिए कुछ असाध्य. किसी भी सलाह या जानकारी निश्चित रूप से सराहना की है!
उपयोग के मामले में मैं कर रहा हूँ लक्ष्यीकरण की आवश्यकता दखल ब्राउज़र डोम पार्स करने से पहले यह एक मौका है करने के लिए आकर्षित <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="...">
उपयोग के मामले में डेवलपर के लिए टूलींग, तो मैं कोशिश कर रहा हूँ बनाने के लिए आकस्मिकता के लिए कुछ निरपेक्ष स्थिति. यदि यह नहीं किया जा सकता है, यह नहीं है हत्यारा करने के लिए मेरी परियोजना है, लेकिन मैं यकीन के लिए पता है क्यों यह नहीं किया जा सकता है.
अग्रिम में धन्यवाद!