일반적으로 내 HTML 코드는 Javascript 또는 CSS로부터 깨끗하고 의미 론적이며 무료입니다. 내 .JS 및 .CSS 파일을 맨 위에 포함하고 레이어 기능을 DOM 요소 위에 포함합니다. 이것의IE 6 성능 대 깨끗하고 눈에 잘 띄지 않는 자바 스크립트
긍정적는 다음과 같습니다 우려의
- 건축 분리가 자바 스크립트 나 CSS가 지원되지 않는
- 우아한 저하는 검색 엔진 친 화성이 큰 하나
- IE6의 성능 문제
DOM에 액세스하는 Javascript 코드를 통해 모든 이벤트가 요소에 연결되므로 IE의 성능이 저하됩니다.
이것은 특히 jQuery (내가 좋아하는 Javascript 프레임 워크 인 경우)를 사용할 때 특히 그렇습니다.
두 가지 선택이있는 것 같습니다. 코드를 멋지게 유지하고 사용자 6 명 (사용자 기반의 약 20 %)이 불평하거나 IE 6을 개선하는 코드를 "de-normalize"합니다. 공연.
이 상황에 "중간"이 있습니까? 아니면 내가 운명이야?
참고 : 성능상의 문제는 자바 스크립트를 별도의 파일로 인해 발생했다고는 말할 수 없습니다.
별도의 파일에 보관하면서 IE에서 멋진 성능을 얻을 수 있습니다.
문제는 HTML의 'onclick'속성에 실제 이벤트 핸들러를 추가해야한다는 것입니다. 예를 들어 : 난 그냥 쓸 수 있다면
<span onclick="doSomething()">More...</span>
그것은 훨씬 더 좋은 것 :
<span id="more-button">More...</span>
을 그리고 다음으로, 자바 스크립트, 별도로 할당 :
$("#more-button").click(doSomething);
를 불행하게도, 이것은 IE6 성능에 좋지 않은 것 같습니다.
이벤트 처리기 첨부 메커니즘이 느려지고 있다는 증거가 있습니까? 선택자는 얼마나 복잡한가요? 선택기가 통과하는 DOM은 얼마나 복잡합니까? 수백 개의 DOM 요소와 이벤트 핸들러가 없다면'attachEvent'가 진정한 범인이되는 것을 보지 않기 때문에 묻습니다. jQuery의 이벤트 시스템은 그다지 훌륭하지 않지만, 너무 느려서는 안됩니다. –