2013-06-30 3 views
6

jQuery가 포함 된 iframe 내용이 있고 iframe의 jQuery 부분이 IE에서 작동하지 않습니다 (jQuery가 사용되지 않는 부분은 정상적으로 작동하며 모든 것이 올바르게 작동합니다. 크롬 및 파이어 폭스).iframe의 jQuery가 IE에서 작동하지 않습니다.

여기서 코드이다 :

<!DOCTYPE html> 
<html> 
<head> 
    <title>iframe content</title> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
</head> 
<body> 
    <h1>This heading is showing up just fine.</h1> 
    <div id="jQuery-generated-content"> 
      <!-- content dynamically generated by jQuery plugin This part is not showing in iframe in IE --> 
    </div> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> </script> 
    <script src="pathTojQueryPlugin.js"></script> 
    <script type="text/javascript"> 
     jQuery.codeToInitiatePlugin 
    </script> 

</body> 
</html> 

I는 상대 및 절대 경로 있지만 운 모두 오른쪽 body 태그 후 머리 jQuery 코드를 삽입 시도. 만약 누군가가 이것에 대한 해결 방법을 알고 있거나 IE가 jQuery를 읽지 않게하는 원인이 있다면 크게 감사 할 것입니다.

미리 감사드립니다.

+0

iframe 대신 페이지를로드하면 정상적으로 작동합니까? – Barmar

+0

이것이 iframe 코드입니까? – raam86

+1

예, iframe의 내용이 아닌 페이지를 정상적으로로드하면 작동합니다. – hotate17

답변

5

나는 또한 전에도 같은 문제가 발생했습니다. 이 문제는 IE가 iframe 내에서 jquery 라이브러리에 액세스 할 수 없어서 jquery 코드를 읽을 수 없기 때문에 발생합니다. 유일한 해결 방법은 jquery 코드를 javascript로 변환하는 것입니다.

업데이트 :

다른 버전의 jQuery를 사용하면이 문제를 해결할 수도 있습니다. 또는 다른 jQuery 라이브러리를 사용할 수도 있습니다.

+1

또는 iframe에 포함하십시오 ... – raam86

+2

jquery 라이브러리를 포함하면 도움이되지 않습니다 ... 나는 그것을 시도했습니다. 당신도 시도해 볼 수 있습니다 – Sid

+0

의견을 주셔서 감사합니다, 시드. 하지만이 특별한 경우에는 jQuery를 사용해야합니다. jQuery 플러그인은 iframe 내부에서 사용하고 있습니다. 필요한 효과/기능이 정확히 있기 때문입니다.그리고 내가 비슷한 것을 쓰거나 자바 스크립트에서 기능/효과를 재현하는 것이 너무 어렵다 ... – hotate17

3

아마도이 방법을 이미 다른 방법으로 해결했을 것입니다.하지만 다른 사람이이 게시물을 찾은 경우에 대비해.

다음은 경우에 따라 도움이되는 작은 "트릭"입니다.
는 jQuery를 사용하기 전에이 내부 iframe을 추가 :

if (window.jQuery) { 
    jQuery = window.jQuery; 
    $ = window.jQuery; 
} 

페이지가 포함 iframe이는 jQuery를 가지고 있어야하지만.

3

댓글에 hotate17이 명시한 것처럼 실제 답변은 그/그녀가 CDN (이 경우 Google의 CDN)에서 jQuery 애셋을로드하고 있다는 것입니다. 같은 서버에서 jQuery 애셋을로드하고 iFrame 소스와 동일한 URL을로드하면 문제가 해결되고 내 사이트에도 오류가 발생합니다. 감사합니다. hotate17! 다른 SO 질문에서

http://www.sandiegosoftware.net/blog/script5-access-is-denied-error-in-internet-explorer-loading-jquery/

4

:

이 합법적 인 jQuery를 1.10.1 버그가 : http://bugs.jquery.com/ticket/13980.

사용하여 내 경우 Source

,

...

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 

문제를 ..solved. 또한 부모 페이지와 동일한 버전이되었습니다 (감사합니다 Avigon).

관련 문제