제거 특성에 정의된`onload`에서`<body>`

0

질문

작업을했습니다 이를 위해 몇 시간 이 시점에서 나는 죽음의 수려 무언가를 달성하기 위하여 쓸모없. 모든 통보 또는 통찰력을 확실히 감사드립니다!

사용한 경우 나는 타겟이 필요합을 방해하는 브라우저의 DOM 분석기 전에 그것을 기회가 있을 그릴 <body> 요소입니다. 이것을 달성하기 위하여는,사용이 한 줄로 첫 번째 스크립트라고서 <head> 요소:

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

이 성공적으로 막는 브라우저에서 호출 이후의 모든 스크립트,그리고 <body> 요소를 유지 un-렌더링됩니다. 그러나,경우에는 태그를 포함 onload 특성 <body> 요소는 기능 또는 코드가 여전히 불에 의해 브라우저입니다.

컨텍스트로는 가로채 DOM 분석에서 <head>을,나를 사용할 수 없습 document.body.removeEventListener() 을 드롭 이벤트가 수신기기 body 요소는 아직 존재하지 않습니다. 설정 window.onload 하기 null 아무 효과가 없고,어느 쪽도 아니고 차단 설정 window.onloadObject.defineProperty(window, 'onload', {...}). 각각의 경우에, onload 기능 또는 문은 여전히 호출됩니다.

을 선점한 질문으로 왜 나는 할 수 있지 않을 사용하지 <body onload="...">사용 케이스에 대한 개발자 도구,그래서 내가 만들려고 우발사고를 위한 특정 절대적 조건입니다. 할 수 없는 경우에는 수 없는 살인자를 내는 프로젝트,하지만 나는 그것을 할 수 없습니다.

사전에 감사합니다!

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

최고의 응답

2

당신이 사용할 수 있는 문서 readystateinteractive 상태,그리고 덮어쓰기 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ý
..................................................................................................................