2010-02-20 13 views
1

나는이특수 문자

<html> 
    <head> 
     <script> 
      // and the script runs here 
     </script> 
    </head> 
    <body></body> 
</html> 

같은 HTML 파일에 포함 된 일부 자바 스크립트를 그리고이

if((os == 'Mac')&&((br == 'Safari')||(br == 'Chrome'))) 

모두 같은 라인을 가지고 확인을 간다 작품),하지만 the validator 비명입니다 :

... "&"첫 번째 문자입니다
- 당신이 당신의 페이지에서 "<"문자를 포함하려고 : 당신이 그것을 "<는"
- 당신이 사용을 탈출해야 구분자의 어하지만
이 ... 여러 가지 경우에 나타날 수 있습니다이 메시지는 데이터로 발생 이스케이프 처리되지 않은 앰퍼샌드 "&": 일부 컨텍스트에서는 유효 할 수 있지만 항상 안전한 "&"을 사용하는 것이 좋습니다.
- 이전 태그에서 따옴표를 닫지 않았을 수도 있습니다.

&을 모두 & amp으로 바꾸는 것은 어리석은 것처럼 보입니다. 어떻게 그 오류를 제거 할 수 있습니까?

<script type="text/javascript"> 
// <![CDATA[ 
    document.write("&"); 
// ]]> 
</script> 

추가 읽기 :

답변

5

당신이 XHTML을 사용하는 경우, 당신은 CDATA section 내 인라인 스크립트를 묶어야합니다

+0

지옥 감사합니다. 그리고 그것은' phunehehe

+1

을 벗어나야 만 재미가있는 것처럼 보입니다. XHTML과 HTML에 충분히 가까우므로 브라우저에 텍스트/HTML이 아니라고 알려줄 때 작동하기 때문입니다. application/xhtml + xml. 그것은 IMO가 가치가 있으므로 HTML 4.01을 작성하는 데 더 노력해야합니다. – Quentin

+1

... 나는 여전히 XHTML을 사용하고 있지만 상당한 양의 코드를 외부 스크립트에 고수하고있다. 어느 쪽이든, 명시적인 브라우저 스니핑을 피하십시오. – bobince