2011-02-01 2 views
4

나는 YSlow를 좋아합니다. 규칙을 지킬 때 상식을 사용하십시오. 그러나 재미를 위해 나는 나의 ASP.NET MVC 사이트에서 100 점을 얻으려고하고있다. 그리고 나는 거의 그곳에있다. (99시에, 내 사이트를 다른 서버에 미러링하고 about : config로 변경하여 CDN을 시뮬레이트한다.).YSlow 규칙 8 (자바 스크립트 및 CSS 외부 확인)과 유효한 HTML5

테스트를 마친 후에 규칙 8 (2 개의 인라인 스크립트에 대해 1 점 감점)에서 완벽한 점수를 얻으려면 HTML5 구문 규칙 (the w3c validator에 따라)을 위반해야한다는 것을 알게되었습니다. 나는 이것이 HTML4 구문 규칙에도 적용된다고 생각한다. 어떤 공제 예를 들어

는 (HTML5 구문 규칙을 위반) :
<script type="text/javascript" src="/ui/scripts/lib/core.js" /> 

그리고 유효 HTML5뿐만 YSlow의 점수에서 공제와

가 :

<script type="text/javascript" src="/ui/scripts/lib/core.js"></script> 

내 가설이 그 어떤 의미에서이입니다 웹 브라우저가 두 번째 예에서 스크립트를 스캔 할 것이고 첫 번째 스크립트는 두 번째 예제가 아닌 (두 번째 스크립트는 열기 및 닫기 태그이기 때문에) 스캔 할 것이므로 정확합니다.

다른 사람이이 문제를 알고 있습니까? 완전 HTML 100을 소화 할 수 있고 여전히 유효한 HTML5를 가질 수 있습니까?

답변

4

두 경우 모두 스크립트 태그에서 type="text/javascript"을 제거 할 수 있습니다. 하지만 네, 닫는 스크립트 태그가 필요합니다.

YSlow가 잘못되었습니다.

+0

형식 속성이 HTML5에서 선택 사항인지 (HTML4에 기본값이 없으므로) 몰랐습니다. 알아 둘만한. YSlow가 올바르지 않다고 생각되면 여기에 대해 생각해보십시오. 내 가설이 옳다면 렌더링 엔진은 열기/닫기 태그를보고 일부 js 코드 (아마도 눈에 띄지 않는)를 예상하여 중단합니다. 그러나 여전히해야 할 일입니다. YSlow는 인라인 스크립트를 절대로 사용하지 말 것을 요구합니다. HTML5 구문 규칙을 위반하는 규칙을 사용해서는 안되는 데 동의하지만 어째서 그 규칙이 첫 번째 이유인지 설명하는 데는 동의합니다. – fredrik

관련 문제