연휴를 맞아 개짓 개발에 매진하려고 하는데 참 힘드네요.
우선 개짓 자체가 불완전한데다가 MS 특유의 편리하게 제공되는 API도 적을 뿐더러 그나마도 숨겨놓고 공개안하는 요소도 많군요.

보통 고급 자바스크립트 기능을 쓴다 하면 대부분 prototype.js가 들어가 있어서
개짓 js 파일 내에서 외부의 자바스크립트 파일을 로딩하여 그 기능을 활용하는 테스트를 해봤습니다.

결과는 어떤 방법을 써도 외부 코드가 제대로 로드되지 않더군요.
아래는 개짓 js 파일 내에서 alert(document.documentElement.innerHTML); 코드를 통해 얻어낸 live.com상의 개짓 HTML 코드입니다.

개짓의 HTML 코드▼


눈돌아 갑니다.
엄청나게 많은 js 파일들이 알게 모르게 쓰이고 있군요. 괜히 로딩이 느린게 아니었습니다. -_-

자바 스크립트 코드 내에서 외부 자바 스크립트 코드를 로드하는 방법을 찾아 봤는데, 그냥 DOM 객체를 추가하는 것처럼 document.createElement('script');로 객체를 생성한 후 해당 객체를 원하는 엘리먼트에 appendChild()문을 통해 넣더군요.

그 방법으로 위에서 보이는 HTML 코드의 <HEAD>아래와 <BODY>아래에 넣어봤지만 분명 HTML 코드 상에는 올라가지만 어떤 이유에선지 제대로 로딩이 안되었고 외부 자바스크립트의 객체나 함수를 식별할 수 없었습니다.

또 다른 방법은 개짓 매니페스트 파일의 바인딩 <item><link></link></item>을 활용하는 건데요.
<link biding:type="js">경로.js</link>
이런식으로 넣어주면 분명 HTML코드에 로드는 되지만 역시나 개짓 js 내에서 해당 코드를 인식하지 못합니다.

뭐 이쯤 되면 두손 두발 들어야죠.

최악의 방법으로 외부에 넣을 스크립트 코드를 개짓 js 파일의 맨 아래에 몽땅 붙여넣을 수 있는데요, 이 방법으로 일단 코드가 제대로 동작하긴 합니다.
문제라면 코드 라인이 엄청나게 길어져서 디버깅 하거나 코딩할때 매우 불편해진다는 점이죠.

MS는 아예 정해진 코드 외엔 사용하지 못하게 하는 것도 아니고 본문에 넣으면 죄다 동작할 코드를 왜 외부에서 로드하지 못하게 했을까요?
뭐 외부에 링크하면 그 코드를 수정해서 뭔가 '나쁜짓'을 할 수도 있다... 이해는 가지만 꼭 이렇게 귀찮게 했어야 하는지 의문입니다.

어쨌든 지금으로선 방법이 없군요.
하루 빨리 MS에서 개짓을 VS2005의 개발 프레임웍 안에서 연동하여 쓸 수 있게 해주길 바랄 뿐이죠.

에휴.
신고
Posted by gongdo


티스토리 툴바