2012-05-02 2 views
1

웹 페이지에 iframe을 임베드 할 때이 프레임에 jquery를 삽입하려고합니다. 자신의 독립적 인 복사본 반대로이 작동하는 동안삽입 iframe에 부모 iframe의 Jquery 객체를 삽입하려면 어떻게해야합니까?

frame.contentWindow.$ = window.$ 

, iframe이의 $가 계속 실행되고 부모의 범위 :

내가 좋아하는 뭔가를 시도했다.

프레임에 <script src="/path/to/jquery.js"></script>을 삽입하지 않고 iframe에 독립 jquery 개체를 삽입 할 수 있습니까?

UPDATE 그것을 해결. jquery.js 편리 익명 함수에서 창 개체를 수용하여 범위에 대한 jQuery를 정의 : 그래서

function(windowObject){ .... define jquery }(window) 

내가해야 할 일을했을 모든 것은, 예를 들어를이 함수의 이름을했다 jQuerify를 호출하여 부모 창 개체에 대해 한 번 호출 한 다음 자식 창 개체에 대해 호출합니다.

jQuerify = function(windowObject){ .... define jquery } 
jQuerify(window) 
jQuerify(iframe.contentWindow) 
+1

왜 스크립트 태그를 삽입하지 않습니까? 캐시에서로드됩니다. 새로운 컨텍스트에서 자신을 다시 초기화 할 수 있도록로드 할 때 처음부터 새로 실행해야합니다. – jfriend00

+0

http://api.jquery.com/jQuery.sub/를 살펴볼 수도 있습니다. '.sub()'는 1.7.0 이후 플러그인입니다. – jAndy

+0

@ jfriend00 jquery를 다른 많은 라이브러리와 함께 제공합니다. 그 파일은 매우 무겁습니다. iframe에 자바 스크립트를 모두 처리하지 않으려합니다. –

답변

0

해결되었습니다. 내가해야 할 일을했을 모든이의 이름을했다

기능 (windowObject) {.... jQuery를 정의} 그래서 (창) 다음 jquery.js 편리 익명 함수에서 창 개체를 수용하여 범위에 대한 jQuery를 정의 함수, 예. jQuerify를 호출하여 부모 창 개체에 대해 한 번 호출 한 다음 자식 창 개체에 대해 호출합니다.

jQuerify = function(windowObject){ .... define jquery } 
jQuerify(window) 
jQuerify(iframe.contentWindow) 
0
당신은 jQuery 오브젝트 복제 시도 할 수 있습니다

:

See this answer 또는 .clone 기능을 구현하는 방법에 대한 this one를, 다음이 전화 :

iframe.contentWindow.$ = window.$.clone(); 

또는

iframe.contentWindow.$ = window.$.bind({}); 

... 당신이 어떻게 기능을 복제할지에 따라 ....

+0

감사합니다. Jeff. 불행히도 복제는 범위를 변경하지 않습니다. 나는 해결책을 발견했다. –

관련 문제