스택큐힙리스트

왜 self-closing 스크립트 요소가 동작하지 않을까요? 본문

카테고리 없음

왜 self-closing 스크립트 요소가 동작하지 않을까요?

스택큐힙리스트 2024. 2. 20. 10:13
반응형

브라우저가 다음을 올바르게 인식하지 못하는 이유는 무엇인가요?


<script src=foobar.js /> <!-- self-closing script element -->

다음만 인식됩니다:


<script src=foobar.js></script>

이것은 XHTML 지원 개념을 깨뜨릴까요?


참고: 이 문장은 최소한 모든 IE (6-8 베타 2)에 대해서는 맞습니다.

답변 1

최초 사양의 'HTML 호환성 가이드라인'이라는 명시되어 있지 않은 부록은 다음과 같이 말합니다:


C.3. 요소 최소화 및 빈 요소 콘텐츠



콘텐츠 모델이 '빈'이 아닌 요소의 빈 인스턴스가 제공될 때(예: 빈 제목이나 단락), 최소화된 형식을 사용하지 마십시오.(예: <p> </p> 대신 <p />를 사용하지 마십시오.)



XHTML DTD는 다음과 같이 스크립트 요소를 지정합니다:


<!-- CDATA 섹션을 포함할 수 있는 스크립트 문장 -->
<!ELEMENT script (#PCDATA)>

답변 2

자바스크립트를 사용하여 웹페이지를 개발하다보면 종종 self-closing script elements라고 알려진 태그들의 작동에 문제가 발생할 수 있습니다. 여기서 self-closing script elements란 다음과 같은 태그를 의미합니다.
```html

```
둘째로, HTML 구문 분석기는 자동으로 오류를 수정하려고 할 때 많은 내부 로직을 가지고 있습니다. 따라서 주어진 구문에서 스크립트 태그를 자동으로 닫기 때문에 self-closing script elements는 예기치 않은 결과를 초래할 수 있습니다.
마지막으로, 인터넷 브라우저마다 HTML 구문 분석 및 해석 방식이 다를 수 있습니다. 그렇기 때문에 스크립트 요소를 self-closing으로 사용하는 것은 웹페이지의 호환성 문제를 일으킬 수 있습니다.
해결책은 스크립트 요소를 정상적으로 닫는 것입니다. 이렇게 하면 모든 브라우저에서 일관된 방식으로 작동할 수 있습니다. 따라서 아래와 같이 작성해야합니다.
```html

```
self-closing script elements 사용에 대해 알아보았습니다. HTML의 규칙과 브라우저 호환성의 문제로 인해 이러한 요소는 작동하지 않을 수 있기 때문에 항상 스크립트 요소를 올바르게 닫는 것이 중요합니다. 이는 웹사이트의 보안과 안정성을 유지하기 위한 핵심 사항입니다.

반응형
Comments