2010-06-28 8 views
0

Google Gears API의 '스레드'컨텍스트에서 코드를 실행하면 '문서'객체에 액세스 할 수 없으므로 createElement를 사용하여 스크립트를 동적으로로드 할 수 없습니다.createElement가없는 동적 자바 스크립트 삽입

그런 시나리오에서 코드를 "주입"하는 방법에 대한 아이디어가있는 사람이 있습니까? 내가 생각할 수있는 유일한 방법은 webservice와 JSON 객체를 사용하는 것입니다.이 객체는 평가할 것이지만 일련의 문제와 복잡성을 만들어 내 입안에 나쁜 맛을 남깁니다.

문제는이 제한으로 인해 코드가 크고 여러 가지 코드가 중복되어 결국 더 이상 싫어할 것이 없다는 것입니다.

아이디어가 있으십니까?

답변

1

webservice를 사용할 필요가 없으며 일반 XMLHttpRequest를 사용하여 javascript 파일을 검색 한 다음 평가하면됩니다.

var xhr = new XMLHttpRequest(); 
xhr.open("foo.js", null, false); // since this is in a thread you can use the synchronous approach 
xhr.send(""); 
eval(xhr.responseText); 
+0

그런데 코드를 전역 범위에서 eval'ed로 지정하려면 다음을 수행하십시오. var fn = new Function (xhr.responseText); fn();' –

관련 문제