Birkaç saattir bunun üzerinde çalışıyorum ve işe yaramaz bir şeyi başarmaya çalışıyor olabileceğimi hissettiğim noktadayım. Herhangi bir tavsiye veya içgörü kesinlikle takdir edilmektedir!
Hedeflediğim kullanım durumu, tarayıcının DOM ayrıştırmasını çizme şansına sahip olmadan önce kesmeyi gerektirir. <body>
öğe. Bunu başarmak için, bu tek astarı ilk komut dosyası olarak kullandım. <head>
öğe:
document.replaceChild(document.createElement('html'), document.children[0]);
Bu, tarayıcının sonraki komut dosyalarını çağırmasını başarıyla engeller ve <body>
öğe işlenmemiş kalır. Ancak, biçimlendirme bir onload
öznitelik üzerinde <body>
öğe, bu işlev veya kod tarayıcı tarafından çağrılmaya devam eder.
DOM ayrıştırmasını engelleyen bağlam şu şekildedir <head>
, Ben kullanabilir miyim document.body.removeEventListener()
olay dinleyicisini bırakmak için, çünkü body
element henüz yok. Ayar window.onload
-e doğru null
hiçbir etkisi yoktur ve ayarlamayı engellemeye çalışmak da yoktur window.onload
kullanım Object.defineProperty(window, 'onload', {...})
. Her durumda, onload
işlev veya deyimler yine de çağrılır.
Neden kullanmaktan kaçınamadığımla ilgili bariz soruyu önlemek için <body onload="...">
kullanım durumu geliştirici araçları içindir, bu yüzden belirli mutlak koşullar için olasılık yaratmaya çalışıyorum. Eğer yapılamazsa, bu benim projem için katil değil, ama neden yapılamayacağını bilmek isterim.
Şimdiden teşekkürler!