더 나은 방법 : <script type =“text / javascript”>… </ script> 또는 <script>… </ script>


97

사용하는 것이 더 좋거나 더 편리합니다.

<script type="text/javascript">...</script> 

또는

<script>...</script>

7
당신이 다음 코스 1 하나의 언어로 자바 스크립트를 사용하는 경우 더 나은입니다
Chinmayee G

스크립트를 자바 스크립트로 선언함으로써 얻을 수있는 성능 향상이 중요하지 않지만 좋은 질문이라고 생각합니다!
The_Butcher 2010

10
Html v4와 Html v5에있는 경우 "정답"이 다른가요?
Dimitrios Mistriotis 2010

어느 것이 더 나은지가 아니라 언제 무엇을 사용해야하는지에 대한 것입니다. HTML5 선언을 사용할 때 기본적으로 적용되므로 태그 에 <!doctype html>MIME 유형 힌트 type="text/javascript"를 사용할 필요가 없습니다 <script>. 반면에 (HTML5가 아닌 경우) 권장되고 권장됩니다 (MIME 유형 힌트 참조 type="text/javascript").
nyedidikeke

답변:


138

유형 속성이 전혀 필요합니까? HTML5를 사용하는 경우 아니요. 그렇지 않으면 예. HTML 4.01 및 XHTML 1.0 type은 필요에 따라 속성을 지정하고 HTML5에는 선택 사항으로 기본 속성이 있습니다 text/javascript. HTML5는 현재 널리 구현되어 있으므로 HTML5 doctype을 사용하는 경우 <script>...</script>유효하고 좋은 선택입니다.

type 속성에 무엇이 들어가야하는지에 관해서 application/javascript는 2006 년에 등록 된 MIME 유형 이 대체하기위한 것이며 text/javascript모든 주요 브라우저 (Internet Explorer 9 포함)의 최신 버전에서 지원됩니다. 관련 RFC 의 인용문 :

따라서이 문서는 text / javascript 및 text / ecmascript를 정의하지만 "구식"으로 표시합니다. 위의 일부에 나열된 것처럼 실험적이고 등록되지 않은 미디어 유형은 사용하지 않는 것이 좋습니다. 미디어 유형,

  * application/javascript
  * application/ecmascript

이 문서에도 정의되어 있으며 일반적인 사용을위한 것이며 대신 사용해야합니다.

그러나 버전 8까지의 IE 는 또는 속성이 있는 <script>요소 내에서 스크립트를 실행하지 않으므로 이전 IE를 지원해야하는 경우 .typeapplication/javascriptapplication/ecmascripttext/javascript


3
type속성이 "필요"하지 않습니다 . HTML4.01 또는 XHTML 1.0에 대한 유효성 검사는 더 이상해야 할 일이 아닙니다. 모든 브라우저는 다음없이 태그를 지원할 것입니다.text/javascript
Ian Storm Taylor

9
@Ian : 작성 당시 HTML5 사양은 작업 초안이었으며 아직 영구적으로 움직이는 대상의 현재 상태로 변경되지 않았습니다. HTML5의 브라우저 구현은 현재 위치보다 훨씬 뒤쳐져 있습니다. 이를 고려할 때 당시 HTML5는 일반 웹에서 사용할 수 없었고 내 대답은 절대적으로 공정했으며 항상 "HTML이 유효하기를 원하면" 면책 조항을 포함했습니다 . 나는 그 이후로 일이 진행 되고이 답변이 개정과 관련이 있다는 데 동의하지만 HTML 4.01로 웹 페이지를 작성하는 것이 항상 잘못된 일이라는 것에 동의하지 않습니다.
Tim Down

1
+1, 방금이 질문을 속임수에서 발견했습니다. Anne Van Kesteren의 블로그에서 JavaScript MIME 유형을 포함하여 이에 대해 논의한 여러 게시물 이 생각 납니다 . 나는 그것을 찾을 수 없지만 모든 브라우저에서 작동하기 때문에 전혀 사용하지 말 것을 권장하는 게시물이 있다고 확신했습니다 . 다른 사람 일 수도 있습니다. type
Andy E

1
IE8 이하에서 "application / javascript"JS 파일이 실행되지 않는 이유를 알아 내려고 할 때 "감사합니다"라고 말하고 싶었습니다!
andrewtweber

"text / javascript; version = 1.8"은 어떻습니까?
SparK

10

둘 다 작동하지만 xhtml 표준에서는 다음을 지정해야합니다 type.

<script type="text/javascript">..</script> 

<!ELEMENT SCRIPT - - %Script;          -- script statements -->
<!ATTLIST SCRIPT
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  type        %ContentType;  #REQUIRED -- content type of script language --
  src         %URI;          #IMPLIED  -- URI for an external script --
  defer       (defer)        #IMPLIED  -- UA may defer execution of script --
  >

type = content-type [CI]이 속성은 요소 콘텐츠의 스크립팅 언어를 지정하고 기본 스크립팅 언어를 재정의합니다. 스크립팅 언어는 콘텐츠 유형 (예 : "text / javascript")으로 지정됩니다. 작성자는이 속성에 대한 값을 제공해야합니다. 이 속성에는 기본값이 없습니다.

위의 강조점에 주목합니다.

http://www.w3.org/TR/html4/interact/scripts.html

참고 : HTML5 (멀리 있음)부터 type속성은 필수가 아니며 기본값입니다.


9

<script type="text/javascript"> </script>html5 를 사용 하지 않는 한 사용해야 합니다. 이 경우 선호하는 것이 좋습니다 <script> ... </script>(유형 속성이 기본적으로 해당 값으로 지정되기 때문).


5

이것이 필요한 전부입니다.

<!doctype html>
<script src="/path.js"></script>

3

<script type="text/javascript"></script> 올바른 방법이고 모든 브라우저와 호환되기 때문에


-2

최신 Firefox에서는 다음을 사용해야합니다.

<script type="text/javascript">...</script>

그렇지 않으면 스크립트가 제대로 실행되지 않을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.