2012-03-24 5 views
2
P&G 
P&ampG 
P&G 

이들은 모두 동일합니다. javascript/url에 대해서만 특수 엔터티를 사용합니까?&& & 모두 html과 비슷합니다. 어떻게 그리고 왜?

+2

P & amp; G가 유효하지 않습니다. 일부 브라우저는 자동 복구 기능을 제공합니다. –

+0

자동 복구 중 ...? 승인! 나는 이것들에 대한 문서/매뉴얼/정보를 더 자주 읽어야한다. –

+1

예, 일부 브라우저는 아니지만 전부입니다! –

답변

6

그들은 같은 것을 의미하지 않습니다.

P&G에는 유효성 검사기에서 알 수없는대로 정의되지 않은 엔터티 참조 &G이 들어 있습니다. 브라우저가 이러한 참조를 사용하면 문자 그대로 취급된다는 것입니다. 브라우저가 새로운 항목을 인식하기 시작하면 이상한 일이 발생할 수 있습니다. 추가 된 entities as per HTML5 drafts이 추가되고 있기 때문에 그들은 지금 그것을하고 있습니다. 덧붙여 말하면, &G은 그중 하나가 아닙니다.

P&ampG 깨진 파서 일부 브라우저 잘못 & 문자 의미로 &amp 참여할 수 있음을 제외하고는 매우 유사한 경우이다.

P&G는 P & G.

의 약자 올바른 표기법이 자바 스크립트와는 아무 및 URL과는 아무 일반적으로 더 이상 HTML 이상의 문서 내용이 없습니다. 자주 앰퍼샌드가 URL에 필요하지만 문제가 URL의 문제가되지는 않습니다.자바 스크립트 코드는 종종 script 요소 안에 쓰여지며 HTML 버전에 따라 특수 구문 분석 규칙이 적용될 수 있지만 요소의 콘텐츠 모델에 따라 다릅니다. (style 요소는 비슷한 경우입니다.)

+1

'P & G'를'P & G'로 처리하는 것은 파서가 깨진 결과가 아니라 HTML5 파서가 필요합니다. 링크 된 엔터티 목록의 맨 아래에 후미 세미콜론없이 해석되어야하는 명명 된 문자 참조 목록을 찾을 수 있습니다. – Alohci

+1

@Alohci, 게시 된 HTML 사양에서는 참조가 먼저 어휘 수준에서 구문 분석되어야하며 ('&'다음에 나오는 모든 이름 문자를 사용함) 엔티티 정의와 일치하는 후에 만 ​​구문 분석이 수행되어야합니다. HTML5는 초안 수준 (작업 진행 중)이고 문제에 대해 모호하지만 http://validator.w3.org는 HTML5 모드에서도 오류로 '& ampG'플래그를 표시합니다. –

+1

예, 웹 페이지를 준수하지 않지만이 상황에서 파서가 준수해야하는 요구 사항이 모호하다고 생각하지 않습니다. (C#에서 HTML5 구문 분석기를 구현했으며, 소비/비 소모 문자를 처리하기 위해 약간의 노력을 기울 였지만 필요한 것은 무엇인지 의심의 여지가 없었습니다.) 스펙은 초안에 있지만 (마지막 호출시), 실제 웹 페이지와의 역 호환성을 위해 필요하기 때문에 변경 될 가능성은 거의 없습니다. – Alohci

1

최상의 결과를 얻으려면 항상 & 양식을 사용해야합니다. 기간.

글쎄, CDATA 콘텐츠 형식이있는 환경을 제외하고. HTML에서는 <script>, <style>, <xmp>, <listing> 등의 요소가됩니다. XHTML에서는 명시적인 CDATA 블록에서만 <![CDATA[으로 제한됩니다. ]]>.

참고 문헌을 전체적으로 쓰지 않으면 모든 브라우저에서 원하는 방식으로 표시되지 않으며 "& 사본 & 붙여 넣기"를 실수로 쓰면 나중에 문제가 발생할 수 있습니다.

1

아니요. HTML로도 이해할 수 없으므로 특수 문자라고합니다.

그러나 최신 브라우저는이를 수정합니다. (최신 브라우저 교정의 예) :

확장명이 .htm | .html 인 문서를 만들고 <h1>hi!</h1>을 입력 한 후 문서에 저장하십시오. 너는 어떤 표제를 볼 수있을 것이다. 어느 쪽이 틀렸어 야합니까 ... (주제로 돌아 가기)

이 작은 빨판은 수백 가지가 있습니다. 하지만 중요한 것은 다음과 같은 표준을 따르려고합니다.

  1. 동료가 코드를 더 잘 이해할 수 있도록 도와줍니다.
  2. 귀하의 브라우저에서 허용하는 이유는 이전 변명 일뿐입니다.
  3. 어떻게 기억하지 않고도 문제가 될 수 있습니까?
  4. 는 전체 참조에 대해 읽거나 브라우저에서 <>10<20<>를 작성하는 시도로서 http://www.w3schools.com/tags/ref_entities.asp

는, 그것이 새로운 현대적인 브라우저가 오래된 경우, 누가 무슨 일이 일어날 지 알고 있다면 그대로을 보여줍니다?

+0

Saini Ji, 당신 말이 맞아요. 그래서 '안녕!'이라는 표제가 있습니다. 나는 특수한 실체에 대해 안다. ... 나의 두 번째/중간의 예에 대해서 궁금해했다. –

관련 문제