2011-09-14 2 views
4

javagript를 통해 pageload 이후 규칙을 적용하여 엄격하게 유효한 방법 (target="_blank")을 해결하는 방법을 제안하는 기사를 읽었습니다.유효한 HTML이 페이지로드보다 중요합니까?

나는 율법의 정신을 이기기 위해 법의 서신을 사용하는 큰 사건으로 나를 때렸지 만, 그것이 정말로 문제인지를 알기 전에 비판하고 싶지는 않습니다. 어떤 스크립트가 실행되기 전에 만 중요하게 만드는 코드 유효성 검사가 있습니까?

+2

'target = "_ blank"'는 HTML5에서 유효하므로 doctype을''로 전환하면됩니다. –

답변

2

페이지를 최대한 유효하게 만드십시오. W3에서는 유효하지 않지만 사용자에게는 유효합니다. 잘못된 HTML을 브라우저에서 수정해야 표시 할 수 있습니다. 모든 브라우저에서 다르게 처리 할 수 ​​있으므로 유효하지 않은 마크 업으로 인해 이론적으로 각 브라우저에서 페이지가 다르게 보일 수 있습니다.

자바 스크립트에서 마크 업을 추가하면 무효화되며 동일한 위험이 있습니다. 당신이 한 유일한 일은 자바 스크립트를 실행하지 않기 때문에 W3 검사기를 속일 수 있습니다. 따라서 실제로 사용자가 보는 것보다 다른 페이지를 테스트합니다. 그렇게하면 유효성 검사가 쓸모 없게됩니다.

그렇습니다. 대부분의 브라우저에서 target="_blank"이 작동한다고 생각합니다. 실제로 필요하다면 문서 유형을 변경할 수 없으므로 유효성 검사기에서 얻은 오류 하나만 있으면됩니다. .

그리고 마크 업 자체는 괜찮아 보입니다 (누락 된 요소가 없으며 모든 것이 잘 빠져 나오고 따옴표가 붙습니다). 따라서 브라우저에서 무시할 수있는 단일 속성 일뿐입니다. 최악의 경우 브라우저는 대상을 무시합니다. 이론적으로 브라우저는 페이지 렌더링에 실패 할 수 있지만이 경우에는 매우 드뭅니다.

1

유효성 검사를 통과 할 수없는 것 이상의 이유가있을 수 없습니다. 이러한 오류에 대해 신경 쓰지 않는다면 자바 스크립트를 사용하지 않고 오류를 포함 할 수 있습니다.

target="_blank"해야 할 일이 있다면 페이지로드시 HTML에 포함시키고 JS에 의존하지 말고 그냥 바보처럼 보인다는 사실을 개인적으로 믿습니다.

1

잘못된 마크 업을 수정하여 많은 자바 스크립트 오류가 사라지는 것을 보았습니다. 페이지 (자바 스크립트, CSS 등)를 구문 분석해야하는 모든 항목에 유효한 마크 업의 이점이 있습니다. 저는 다른 개발자들이 몇 시간 동안 js 문제를 해결하고 IE와 브라우저의 차이점을 저주하며 마크 업을 수정하고 IE 전용 스크립트 쓰레기를 삭제하여 문제를 해결하는 것을 보았습니다.

그래, 유효한 마크 업은 매우 중요하다고 생각합니다.

나는 가장 중요한 마크 업이 유효한 계층 구조를 갖고 있다고 생각합니다. div와 태그를 제대로 닫는 것 같습니다. 목표 속성은 아마도 당신을 망치 려하지 않을 것이지만 나는 어쨌든 그렇게 할 것이라고 말하고 싶습니다. 규칙에 예외를 추가하기 시작하면 미끄러운 경사면에 있습니다.