[IE9] 상위/iframe DTD 정의에 따른 iframe의 랜더링 차이 issue

쿽스와 표준의 혼용 작업이 있는 작업시 참고하여야 할것 같습니다.
같은 증상을 확인하셨거나 다른 테스트 결과가 나오시는 분들은 의견 부탁드립니다.

요약
일반적으로 iframe의 렌더링은 iframe내부의 DTD지정에 따르나 상위가 표준모드 이고 iframe이 쿽스모드일 경우 IE9는 쿽스대신 표준모드로 iframe을 랜더링 하는 이슈.
(추가 버그로 iframe내부의 랜더링은 표준 모드로 랜더링 하나 iframe내부에서 a테그 이외에 슈도클래스 사용불가.*상위는 정상 작동)

  • IE9으로 테스트시 호환성 보기를 끄고(회색아이콘) 확인해주세요

참고URL
http://itsmagic.co.kr/hexo-theme-icarus/ie9_test.html

IE9이 설치가 안된분들을 위해 IE9용 스크린샷 넣어 두었습니다.

Aptana 3 실행시 에러를 내며 실행되지 않을때

한글 계정명 이거나 한글 윈도우7을 쓰면 user폴더 이름이 ‘사용자’로 바뀌어 있어 Aptana3가 실행이 되지 않고 다음 에러를 뿌립니다.

“Could not launch the product because the specified workspace cannot be created. The specified workspace directory is either invalid or read-only.”

다음과 같이 바로가기에 우클릭해서 속성을 띄운후 ‘대상(T)’에 옵션을 주어 실행합니다

“자기가 설치한 Aptana 폴더\AptanaStudio3.exe” -data “d:\AptanaWorkspace” <– 워크스페이스 폴더는 임의로 영문으로 만들어주세요.

Aptana Download
http://www.aptana.com/products/studio3/download

JavaScript loader Head.js 자바스크립트를 빠르게 로딩하자.

이미 아는분들을 아는 head.js를 직접 써봤습니다. 결과는 빠르네요!

모바일 페이지를 연습 삼아 작업에 들어갔는데 jQuery 라이브러리와 jQuery모바일 라이브러리만 로드 시켰을뿐인데 로딩 속도가 아이폰에서 급감하는것을 발견. head.js가 바로 생각났습니다. 적용시켜보니 역시 느린 모바일에선 티가 많이 나는군요. 물론 웹에서도 효과가 충분한것 같습니다.

원리는 순차적으로 로드되는 js들을 병렬방식으로 로드 시켜 속도를 올려준다는군요. 그 이외에도 이런저런 추가기능이 있는 버전과 순수 로딩 속도를 높여주는 기능만 가진 버전 2가지가 있는데 다른 기능들도 차차 써봐야겠습니다.

사용법은 head.js를 삽입하고 다음과 같이 js들을 로드하면 됩니다.
`
// the most simple case. load and execute single script without blocking.
head.js(“/path/to/file.js”);

// load a script and execute a function after it has been loaded
head.js(“/path/to/file.js”, function() {

});

// load files in parallel but execute them in sequence
head.js(“file1.js”, “file2.js”, … “fileN.js”);

// execute function after all scripts have been loaded
head.js(“file1.js”, “file2.js”, function() {

});

// files are loaded in parallel and executed in order they arrive
head.js(“file1.js”);
head.js(“file2.js”);
head.js(“file3.js”);

// the previous can also be written as
head.js(“file1.js”).js(“file1.js”).(“file3.js”);
`
속도 차이를 볼수 있는 데모페이지. SCRIPT SRC in head / SCRIPT SRC in bottom / head.js on head 나눠서 확인할 수 있습니다.

다운로드 및 자세한 사항은 개발 사이트에서 확인 가능합니다.

* 모바일에 사용해본 결과 단순히 저렇게 불러들일시 jQueury모바일이나 JQTOUCH를 head로 로딩할시 DOM이 뼈다귀처럼 로딩이 된후 솔루션들이 먹히는 단점이 있군요.