2009년 2월 6일 금요일

[웹표준]믹시의 추적버튼에서 &(엔퍼센트) 에러

Markup Validation Service 에서 유효성 검사를 해보면 &(엔퍼센트)로 된부분은 전부 에러로 잡아냅니다.
파이어폭스 부가기능중에 'html validator' 로 확인해도 에러로 잡아내며, 다음과 같이 사용하라고 알려줍니다.
 
&


여러 사이트를 보면 & 로 되어있는데, 제가 개발자가 아니라서 & 의 사용용도는 정확하게 모르겠습니다.
믹시를 예로 들자면 아래와 같이 추적버튼의 링크를 제공해줍니다.



제공해준 이미지경로 주소를 보시면 <img src='http://mixsh.com/widget/mr/but.html?p=haY51hVrovetsWaHO9uTcTVC6QR5J3CTC92G18h0Qa4%3D&t=12' alt='믹시' border='0' />
&(엔퍼센트)가 들어감을 알수 있습니다.
해당소스를 넣고 유효성 검사를 해보면 & 부분은 모두 에러로 잡습니다.


그래서 'html validator' 에서 알려준데로 추적버튼 소스에 & 대신 &amp; 로 수정하고 유효성검사를 해보았습니다.
수정된 소스는 다음과 같습니다.

<img src='http://mixsh.com/widget/mr/but.html?p=haY51hVrovetsWaHO9uTcTVC6QR5J3CTC92G18h0Qa4%3D&amp;t=12' alt='믹시' border='0' />



음.. 결과는 통과했다고 나오네요.
& 를 &amp; 로 바꾸어 사용하는게 맞는거 같긴한데, 개발자분들은 어떻게 생각하시는지요?


댓글 5개:

  1. 고맙습니다. 이 글 덕분에 그동안 해결하지 못했던 문제를 해결하였네요.

    답글삭제
  2. @아리새의펜촉 - 2009/02/11 01:23
    도움이 되셨다니, 감사할 따름입니다.^^

    답글삭제
  3. &와 같은 기호는 특수문자에 해당하는데요. 특수문자는 HTML Entity 형식으로 작성하는 것이 표준 문법이고 향후 상호 운용성을 보장하는 방법 가운데 한 가지 방법 입니다. &와 같은 특수문자를 HTML Entity 형식(&amp;)으로 변환을 하지 않으면 향후 등장할 어떤 브라우저들은 & 기호를 만났을 때 이것을 HTML Entity의 시작으로 해석하려고 시도할 수 있습니다. 때문에 & 기호 다음에 HTML Entity 형식이 등장하지 않으면 오류라고 검출하는 것입니다.



    HTML Entity와 관련하여 아래 다양한 특수문자들의 문법예가 있습니다.

    http://www.digitalmediaminute.com/reference/entity/index.php

    답글삭제
  4. @정찬명 - 2009/03/03 01:47
    그렇군요.. 좋은답변 감사합니다. 찬명님 덕분에 좀더 자세히 알게되었습니다.^^

    답글삭제
  5. @아리새의펜촉 - 2009/02/11 01:23
    93ro8h11udphjrum



    답글

    답글삭제