가능한 한 빨리 페이지에 액세스해야하는 스크립트가 있습니다. 많은 사이트에서 사용되며 일관되게 구현되지 않았습니다. 일부 페이지는 DOM이 준비된 후에로드 될 수 있으므로 항상 document.write를 안전하게 사용할 수있는 것은 아닙니다. 확인 (document.readyState === 'loading')하고 true이면 document.write else appendChild를 사용하는 것이 안전합니까? document.write check readyState
0
A
답변
0
<script>
var js = document.createElement('script');
js.src = 'http://domain.com/script.js';
if (document.readyState === "loading") {
document.write(js.outerHTML);
} else {
document.body.appendChild(js);
}
</script>
documen.readyState
설명서를 확인했으며 제대로 작동해야한다고 생각합니다.
+0
DOM을 덮어 쓰겠다는 대화 형 검사를 제거했습니다. 선적을 확인하는 데 문제가 없었지만 방금 일부 확신을 드리고 싶습니다. – fmx67
'DOMContentLoaded' 이벤트 ([MDN] (https://developer.mozilla.org/en/docs/Web/Events/DOMContentLoaded))를 찾는 것이 좋습니다. 이것은 당신이 찾고있는 것일 수 있습니다. 이 이벤트가 발생하면 AppendChild를 사용하십시오. 그렇지 않으면 코드가 제대로 작동합니다. –