문제

이 질문은 다음에서 약간 영감을 받았습니다. 이 질문, 가장 많은 지지를 받은 답변은 HTML 5의 기능을 사용하는 것이 좋습니다.확실히 나에게는 좋은 방법인 것 같았지만, 일반적으로 향후 사양의 기능을 사용하는 것에 대한 호기심이 생겼습니다.

HTML 5는 많은 개선 사항을 제공하며 그 중 대부분은 현재 브라우저에서 문제를 일으키지 않고 사용할 수 있습니다.

몇 가지 예:

// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>

// new input types,  for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>

// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>

// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23"> 
    <!-- -->
</div>
<button data-item-id="93024">Add Item</button>

이러한 새로운 기능 중 다수는 브라우저가 자동으로 양식의 유효성을 검사하고 더 나은 입력(예: 날짜 선택기)을 제공할 수 있도록 설계되었습니다.일부는 단지 편리하고 미래를 준비하는 좋은 방법처럼 보입니다.

현재 브라우저에서는 (내가 알 수 있는 한) 어떤 것도 깨지지 않으며 깨끗하고 일반적인 클라이언트측 코드를 허용합니다.

그러나 HTML 5에서는 모두 유효하지만 HTML 4에서는 유효하지 않으며 현재 HTML 5는 여전히 초안입니다.

이러한 기능을 조기에 사용하는 것이 좋은 생각입니까?

내가 깨닫지 못한 브라우저 구현 문제가 있습니까?

이제 HTML 5 초안 기능을 활용하는 웹 페이지를 개발해야 할까요?

도움이 되었습니까?

해결책

고려해야 할 몇 가지 사항이 있습니다.

  1. 첫째, 유효성 검사는 그다지 큰 의미가 없습니다. HTML 페이지는 유효하지만 잘못 작성되었거나 액세스할 수 없는 등의 문제가 있을 수 있기 때문입니다.보다 말하다 아니요 "유효한 HTML" 아이콘으로 그리고 XHTML을 유해한 것으로 간주되는 text/html로 전송 (다른 응답에서 언급된 hobo-web 테스트와 관련하여)
  2. 이를 고려하여 새로운 DOCTYPE을 사용하는 것이 좋습니다.HTML5에 이 기능을 사용하는 유일한 이유는 브라우저에서 표준 모드를 ​​실행하는 가장 작은 기능이기 때문입니다. 따라서 표준 모드를 ​​원한다면 표준 모드를 ​​사용하세요.장황하고 오류가 발생하기 쉬운 다른 DOCTYPE을 사용할 이유가 거의 또는 전혀 없습니다.
  3. 양식 향상에 관해서는 Weston Ruter의 웹 양식2 비인식 브라우저로 가져오는 JS 라이브러리
  4. 그리고 마지막으로, 대략 data-* a) 모든 브라우저에서 작동합니다(사용하는 한). getAttribute()), b) 여전히 남용하는 것보다 낫습니다. title 또는 class 속성과 c) 유효성 검사는 앞서 말했듯이 유효성 검사에 방해가 되지 않습니다. 저것 중요합니다(물론 그렇습니다. 하지만 유효성 오류가 고의로 발생한 경우 페이지가 유효하지 않은 것은 중요하지 않습니다.W3C 유효성 검사기에서는 이미 HTML5 유효성 검사를 사용할 수 있으므로...);그러므로 그것들을 사용하지 않을 실질적인 이유가 없습니다.

다른 팁

좋은 질문!

간단히 말해서 : 그것은 당신의 맥락과 위험 허용에 달려 있습니다 :)

약간 더 길다 :

  • 생각한다 기술의 초기 채택에 봉투를 밀어내는 것이 항상 좋습니다. 그것은 상업 세계에서 후기 고객보다 이점을 제공하며 기술이 등장함에 따라 기술에 영향을 줄 때 훨씬 더 많은 레버리지를 제공합니다.

  • 코드를 재 작성하거나 소스를 업데이트하지 않으려면 얼리 채택이 귀하에게 적합하지 않을 수 있습니다. 변경할 필요가없는 견고하고 안정적인 코드를 작성하는 것은 완벽하게 존경 받지만, 전적으로 귀하 (및 비즈니스 컨텍스트)에 달려 있습니다.

페이지가 검색 엔진 배치에 크게 의존하는 경우 일부 엔진이 HTML 검증에 우선 순위를 부여한다는 점을 고려할 가치가 있습니다 (출처 : http://www.hobo-web.co.uk/seo-blog/index.php/official-google-prefers-valid-html-csss/).

또한 새로운 날짜 입력 요소 (예 : Opera, 아마도 다른 사람들)에 의존하면 개발자의 일부에서 더 편의성을 제공 할 수 있다는 점을 고려할 가치가 있습니다. 일반적으로 서버 이전 브라우저를 더 잘 수행하는보다 복잡한 JavaScript 컨트롤을 포함하여 배제합니다 (일반적으로 구형 브라우저). 일반적으로 간단한 텍스트 입력 필드로 돌아갑니다).

물론 항상 그렇듯이 브라우저 측 점검에 의존하지 않고 모든 입력 서버 측을 검증하지 마십시오.

하나 이상의 브라우저에서 테스트하기 전에 새로운 기능을 사용하지 마십시오. 예를 들어, 현재 형태의 기능을 사용하는 경우 오페라에서 테스트하십시오. 그렇지 않으면, 독이 된 유산에 기여함으로써 선보다 더 많은 해를 끼칠 수 있습니다.

기능이 이미 브라우저에서 구현되고 해당 브라우저로 테스트하는 경우 새로운 기능을 사용하십시오.

AN도 참조하십시오 오래된 답변.

보다 견고성 원리:

RFC 761 (Transmission Control Protocol, 1980)에서 미국 컴퓨터 과학자 Jon Postel은 인터넷 프로토콜에 대한 원하는 상호 운용성 기준의 이전 통신을 요약했습니다 (IEN 111 참조.1, RFC 760) 다음과 같이 :

TCP 구현은 견고성의 일반적인 원칙을 따라야합니다. 당신이하는 일에 보수적이고, 다른 사람들로부터 받아들이는 것에 대해 자유주의하십시오..

그래서, IMHO, 아니요.

적어도 모든 주요 브라우저에서 지원을 받을 때까지는 HTML의 새로운 기능을 구현하지 않을 것입니다.

클라이언트는 귀하의 페이지가 유효한지 여부에 관심이 없으며, 그것이 크로스 브라우저에서 작동하는지 여부에 훨씬 더 관심을 갖습니다.최신 표준을 구현하기 위해 노력하더라도 여전히 IE6를 포기하지 않는 클라이언트와 회사가 있을 것이며 IE6는 한동안 브라우저 요구 사항 목록에 포함될 것입니다.

새로운 양식 유형을 환영하지만 양식은 서버 측에서 확인해야 합니다.

기존 문서를 HTML5로 전달하려면 많은 노력과 적응이 필요하며 내 추정으로는 하루아침에 이루어지지는 않을 것입니다.주류에 등장하기까지는 최소 3년이 걸릴 것으로 예상됩니다.

나는 재미와 학습을 위해 html 5를 사용하지만, 적어도 지금 까지이 새로운 표준을 사용하여 제작 코드 (기존 코드)를 접촉하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top