W3C 인증에 신경을 써야 합니까?
나는 앵글을 배우고 있다.JS와 저는 다음과 같은 간단한 코드를 발견했습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body ng-app ng-init="name = 'World'">
<h1>Hello, {{name}}!</h1>
</body>
</html>
는 주로 속성이에 W3C 를 통과하지 않습니다.ng-app
,ng-init
질문은 어플리케이션의 W3C 인증에 신경을 써야 하는가?AngularJS를 포기해야 하나요?
표준 데이터 html5 속성을 사용할 수 있습니다.또한 Angular에서도 동일하게 동작하는 것으로 알고 있습니다.예를 들어 다음과 같습니다.
data-ng-app=""
data-ng-init="xxx"
Angular에서도 동일하게 작동하며 W3C에 의해 검증됩니다.
이것도 보세요.ng-app과 data-ng-app의 차이점은 무엇입니까?
그 밖에도, 제 경험상, 표준으로 작업하는 것은, 고객이나 버전이 다른, 가능성이 있는 대규모 고객(웹 사이트나 퍼블릭 Web 앱의 구축 등)에게 제품이 전달되는 것이 항상 좋습니다.모바일 기기에 네이티브 앱으로 설치되는 모바일 앱을 만들기 위해 각진 폰갭을 사용하여 SPA를 구축하는 경우 표준이 그다지 중요하지 않습니다. 중요한 것은 대상 기기에서 작동한다는 것입니다.
W3C HTML5 Validator w w w 。Angular의와 같은 지정 할 수 있는 ng-*
속성—비표준이 여전히 매우 광범위하고 올바르게 사용되고 있는 속성입니다.따라서 검증자가 이러한 속성에 대해 "오류" 메시지를 보내는 것은 작성자에게 도움이 되지 않습니다.
이를 완화하기 위해 HTML5 검증기에 추가한 기능 중 하나는 중요하지 않거나 도움이 되지 않는 오류/경고 메시지를 지속적으로 무시할 수 있는 "메시지 필터링" 기능입니다.프런트 엔드는 다음과 같습니다.
확인할 문서를 제출하면 결과 페이지에 메시지 필터링 단추가 표시되고, 이 단추를 누르면 표시/숨기기 확인란과 함께 세트로 그룹화된 모든 오류 메시지 목록이 표시됩니다.
2017-02-06 업데이트 : 커스텀 속성 HTML 스펙 제안
HTML Checker(W3C Validator)에 커스텀 요소 지원을 추가했습니다.따라서 커스텀 속성 지원을 추가하기 위해 구현에 사용한 것과 유사한 메커니즘을 사용할 수 있습니다.
그러나 HTML 검사기는 HTML 사양을 업데이트하여 허용할 때까지 사용자 지정 속성 이름을 허용하도록 변경할 수 없습니다.이에 대해서는 HTML-spec 이슈 트래커의 제안을 참조해 주십시오.
신경 쓸지 안 쓸지는 당신에게 달려 있어요.유효한 HTML이 아닌 페이지가 많이 있습니다.
HTML5는 프리픽스 앞에 있는 경우 커스텀 속성을 사용할 수 있습니다.data-
따라서 다음과 같은 다른 동등한 명령 중 하나를 사용할 수 있습니다.
<span data-ng-bind="name"></span>
HTML 규약은 반감기를 방지하고 코드를 유지 보수할 수 있도록 하기 위해 존재합니다.
네. 이 부분에 대해 HTML5 검증 프로그램의 "정보" 섹션에 추가한 "검증 이유" 섹션에 좀 더 자세히 기술했습니다.
http://validator.w3.org/nu/about.html#why-validate
이 섹션의 텍스트 출처는 다음과 같습니다.
https://github.com/validator/validator/blob/master/site/nu-about.html#L160
또한 제안된 개선/추가 사항을 포함한 풀 요청도 환영합니다.
제가 현재 가지고 있는 것은 다음과 같습니다.
컴플라이언스 체커를 통해 HTML 문서를 실행하는 핵심적인 이유는 다음과 같습니다.의도하지 않은 실수를 발견하여 수정할 수 있도록 합니다.
또, HTML 사양의 몇개의 문서 컴플리언스 요건(유효성 규칙)은, 유저와 유저의 문서의 유저가 특정의 잠재적인 문제를 회피하기 위해서입니다.이러한 요건의 이면에 있는 이유를 설명하기 위해서, HTML 사양에는 다음의 2개의 섹션이 포함되어 있습니다.
다음 두 섹션에서 설명하는 내용을 요약합니다.
- 에러라고 정의되는 마크업 케이스는, 액세스성, 조작성, 상호 운용성, 시큐러티, 또는 유지보수성의 잠재적인 문제이거나, 퍼포먼스가 저하되거나, 트러블 슈팅이 어려운 방법으로 스크립트가 실패하는 경우가 있습니다.
- 이와 함께 일부 마크업 케이스는 HTML 구문 분석 및 오류 처리 동작에 잠재적인 문제가 발생할 수 있기 때문에 오류로 정의됩니다. 따라서 의도하지 않은 예기치 않은 결과가 DOM에 발생할 수 있습니다.
문서의 유효성을 검사하면 이러한 잠재적인 문제에 대해 경고됩니다.
각진 앱에서 접두사 "data-"를 사용합니다.예:
<body data-ng-app data-ng-init="name = 'World'">
<h1>Hello, {{name}}!</h1>
</body>
빌드 시스템 GulpJs를 사용하여 내가 작성한 플러그인을 사용해 볼 수 있습니다.
변환하고 있다ng-directives
안으로data-ng-directives
이것은 html5 검증을 위한 W3C 사양입니다.
엄격한 테스트를 거쳤으며, 다음 URL에서 확인할 수 있습니다.https://github.com/pgilad/gulp-angular-htmlify
https://www.npmjs.com/package/gulp-angular-htmlify
넌 할 수 있다.install with npm
:
$ npm install --save-dev gulp-angular-htmlify
프로젝트의 규모에 따라 다릅니다.
일반적으로 HTML 규약은 안티패턴을 방지하고 코드를 유지관리할 수 있도록 하기 위해 존재합니다.
이 특별한 규칙(유효한 속성이 되기 위해서는 -data가 앞에 붙는 태그가 필요함)은 도움이 되지 않는 추가 마크업을 촉진하는 경향이 있기 때문에 조금 관련이 없다고 생각합니다.
많은 개발자가 있는 큰 프로젝트에서 일하고 있다면, WC3 규약에 반하여 HTML을 검증하는 것을 고수해 주십시오.그렇지 않으면 실질적인 이점이 없습니다.
https를 사용하여 보안 도메인에서 스크립트를 실행해 보십시오.
https 를 사용하고, 이하와 같이 참조해 주세요.
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body ng-app ng-init="name = 'World'">
<h1>Hello, {{name}}!</h1>
</body>
</html>
언급URL : https://stackoverflow.com/questions/18607437/should-i-care-about-w3c-validation
'programing' 카테고리의 다른 글
Ajax를 통한 체크아웃 시 Woocommerce 업데이트 배송 방법 (0) | 2023.03.14 |
---|---|
Java에서 목록을 Json으로 변환하는 방법 (0) | 2023.03.09 |
Respon on Click - 매개 변수를 사용하여 이벤트 전달 (0) | 2023.03.09 |
WordPress 커스텀 페이지에서 "TypeError: $ is not a function" 오류를 수정하는 방법 (0) | 2023.03.09 |
Ckeditor 값을 Angular의 모델 텍스트에 바인딩JS 및 레일 (0) | 2023.03.09 |