2010-02-15 3 views
142
<script type="text/javascript"> 
    /* ... */ 
</script> 

대 사용되어야한다HTML 스크립트 태그 : 유형 또는 언어 (또는 둘 다 생략)?

<script language="Javascript"> 
    /* ... */ 
</script> 

그 이유는 무엇입니까?

(편집) 또는 세 번째 대안 : 같은 jQuery의 API 레퍼런스에있는 예제 코드로이 중 하나를 생략 :

<script src="http://code.jquery.com/jquery-latest.js"></script> 

답변

140
language 속성은 오랜 시간 동안 사용되지

, 그리고해야 사용하지 마십시오.

HTML5에서 W3C가 작업 할 때 모든 브라우저의 기본 스크립트가 "text/javascript"인 것을 발견했습니다. type이므로 they standardized it to be the default value입니다. 따라서 type도 필요하지 않습니다.

type을 생략하면 XHTML 1.0 또는 HTML 4.01의 페이지는 유효하지 않은 것으로 간주됩니다. 다음 validating보십시오 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<script src="http://example.com/test.js"></script> 
</head> 
<body/> 
</html> 

다음과 같은 오류 통보됩니다 당신이 표준의 팬이라면

Line 4, Column 41: required attribute "type" not specified

그래서, 그것을 사용할 수 있습니다. 실용적인 효과가 없어야하지만, 의문의 여지가있을 때는 사양을 따라갈 수도 있습니다.

+7

HTML5를 사용하고 스크립트가 JavaScript 인 경우 [text/javascript가 기본값] (http://www.w3.org/TR/html5/scripting-1)로 'type'을 지정하는 것은 완전히 필요하지 않습니다. html # the-script-element). –

2

유형 속성은 HTML 문서에서 MIME 유형을 정의하는 데 사용됩니다. 사용하는 DOCTYPE에 따라 HTML 문서의 유효성을 검사하기 위해 유형 값이 필요합니다.

language 속성을 사용하면 브라우저에서 사용중인 언어 (Javascript 또는 VBScript)를 알 수 있지만 반드시 필수는 아니며 IIRC는 더 이상 사용되지 않습니다.

+0

MIME 형식이 이미 언어를 나타냅니다. 언어 속성이 중복되었습니다. –

34

HTML4/XHTML1는

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

HTML5는 웹에 하나 개의 스크립트 언어가 있다는 사실을 직면 필요로하고 있습니다

<script>...</script> 

스크립트 (지원하는 모든 브라우저에서 후자의 작품

NN2 +).

+23

HTML5는 웹에서 '다른 스크립팅 언어'를 계속 지원하지만 명시 적으로 유형이 정의되지 않은 경우 유형을 'text/javascript'로 기본 설정합니다. –

+5

예. 제 요점은 HTML4/XHTML1은 이론적 인 순결성 때문에 자바 스크립트를 기본값으로 만들고 싶지 않지만 HTML5는 건전한 트레이드 오프를 만드는 것입니다. – Ms2ger

+0

웹용 다른 스크립팅 언어는 무엇입니까? –

관련 문제