2009-06-08 3 views
0

는, JS에 연결하는 다른 방법이 존재 간격이 (보통)에서 .. 다른 인용 형식을 활용브라우저는 속성에서 숫자 따옴표를 널리 지원합니까?

<script src="myscript.js" type="text/javascript"></script> 

은 ... :

<script src=&#34;myscript.js&#34; type=&#34;text/javascript&#34;></script> 

이 널리 최신 브라우저에서 지원됩니다 , IE6과 같이 사용중인 오래된 브라우저? 기본적으로이 방법을 사용하는 것이 안전합니까? 예를 들어 일반 따옴표 메서드를 사용하는 것처럼 말입니다.


편집 :HTML4 spec이 그것을 허용 할 것 같다,하지만 잘 실제 현실에서 지원됩니다?

3.2.2 Attributes 

    Authors may also use numeric character references to represent 
    double quotes (&#34;) and single quotes (&#39;). 

    For double quotes authors can also use the 
    character entity reference &quot;. 
+0

3.2.2 절에서는 구분 기호가 아닌 속성 값에 대해 설명합니다. – elmuerte

+0

아니요, 구분 기호에 대해 이야기합니다. "기본적으로 SGML은 모든 속성 값을 큰 따옴표로 구분해야합니다 ... 작성자는" –

+0

"을 사용할 수도 있습니다. 해당 섹션의 텍스트는 약간 혼란 스럽지만 단락의 첫 부분에서는 "기본적으로 SGML은 모든 속성 값을 큰 따옴표 (ASCII 10 진수 34) 또는 작은 따옴표 (ASCII 10 진수 39)로 구분해야합니다." 그런 다음 단락은 속성 값 내에서 따옴표를 어떻게 표시 할 수 있는지에 대해 계속됩니다. 즉 '사용 된 구분 기호가있는 경우'를 사용할 수도 있고 '사용 된 구분 기호가있는 경우'를 사용할 수도 있고, 숫자 이스케이프 표기법을 사용하여 두 형식 중 하나를 나타낼 수도 있습니다. – elmuerte

답변

7

& # 34; 대신 "는 단순히 으로 잘못되었으므로 SGML 및 XML 사양에서 동일한 의미를 가지지 않으므로 요소의 인수 값은 단일 (') 또는 큰 따옴표 (")를 사용해야합니다. 기존의 SGML 규격에서이 요소

<foo bar=&#34;quux&#34; /> 

이름 foo는과 요소로 읽을 수 있으며, 속성 값 "quux"을 지명했다. 그러나 표준에서는 인용되지 않은 속성 값에 이스케이프 된 문자가 포함되어서는 안됨을 정의합니다. 그리고이 요소

<foo bar="quux" /> 

는 이름의 요소로 foo는 및 속성 이름을 따옴표없이 값 quux을 읽어야합니다. 이것은 SGML에서 따옴표는 선택 사항이며 다음 공백까지의 모든 것을 속성의 값으로 사용하기 때문입니다.

XML에는 따옴표가 필요합니다.

+0

HTML과 XHTML에서 괜찮습니까? 그것은 성공적으로 파싱되고 이해 될 것인가? –

+0

아니면 다음과 같은 따옴표없이 작성해야합니다 :

0

호기심이 없습니다. 왜 인코딩 된 변형을 사용하고 싶습니까? 대부분의 텍스트 편집기에서는 서식을 해제합니다. 나를 위해 그것은 매우 고민 거리 일 것입니다.

-2

큰 따옴표로 고정해야합니다. 그렇지 않으면 속성을 올바르게 읽지 못할 수 있습니다.

+0

"정확하지 않을 수도 있습니다"... 그래서 나는 그 말을 듣고 사라질 것입니다. –

+0

@Jenko - 예주세요! – Fenton

-2
<script src=myscript.js></script> 

은 HTML5에서 유효하며 모든 중요한 브라우저에서 지원됩니다.

+0

그럼 절대 링크가되어야합니다 .. 그래서 내가하고 싶습니다 : src =/path/to/script.js ... 괜찮을까요? –

2

속성 값 구분 기호와 따옴표 또는 큰 따옴표 문자 사이에 차이가 있습니다.

당신은 속성 값이 "없습니다"(큰) 따옴표 "

구분".이 경우, 바이트의 squence 의미 (여기서 delimiters are optional 제외) 속성 값을 구분하는 '또는'리터럴을 사용해야합니다 문자 참조는 (이중) 따옴표를 나타내는 데 사용할 수 있지만 리터럴을 사용할 때보 다 더 복잡하고 비효율적입니다. 따라서 리터럴을 사용할 수없는 경우에만 사용해야합니다 (예 : 속성 값 구분 기호 일 때). 내부의 애트리뷰트 값은 시작 구분자가 그 문자였다).

관련 문제