[javascript] Internet Explorer 8의 jQuery 문제

IE8에서 작동하도록 jQuery 함수를 얻으려고합니다. Google 서버 ( http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js ) 에서 라이브러리를로드하고 있습니다 .

$(function(){})호출되지 않습니다. 대신 오류가 발생 Object expected합니다. 개발자를 열고 typeof $콘솔에서 실행했는데 undefined.

jQuery (jquery.com)를 사용하는 다른 사이트로 이동하려고했는데 모두 작동합니다. 여기에 누락 된 것이 있습니까?



답변

변수를 정의 할 때 변수 앞에 “var”를 작성하십시오. IE8은 “var”가 없으면 죽습니다.


답변

보정:

스크립트 포함 태그를 확인하십시오.

type="application/javascript" src="/path/to/jquery"

로 변경

type="text/javascript" src="/path/to/jquery"


답변

비슷한 문제가 발생했습니다. IE7 호환 모드에서 실행되는 IE6, Firefox 및 IE8에서 작동했습니다. 그러나 ‘정상’IE8에서는 아닙니다. 내 해결책은이 코드를 헤더에 넣는 것이 었습니다.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

jquery가 IE8에서 작동하지 않는 이유는 확실하지 않습니다.


답변

해결책은 최신 버전의 jQuery로 업그레이드하는 것입니다. 나는 똑같은 문제가 있었고 1.4.2로 업그레이드했으며 IE8에서 모두 잘 작동합니다.

내가 한 모든 jQuery 1.3.2 항목과 완전히 역 호환되는 것 같으므로 여기에 불만이 없습니다!


답변

나는이 문제가 있었고 여기에 언급 된 해결책을 성공하지 못했습니다.

결국, 스크립트를 http URL포함하는 페이지가 .txt 파일 인 동안을 사용하여 스크립트의 Google CDN 버전에 연결하고 있음을 깨달았습니다 https page.

이로 인해 IE 는 jquery를로드하지 않았습니다 (사용자에게 보안 콘텐츠 만로드할지 묻는 메시지가 표시됨). https 체계를 사용하도록 Google CDN URL을 변경하면 문제가 해결되었습니다.


답변

이 게시물에 걸려 넘어지는 일부 사람들은> = jQuery v2를 사용하고 있기 때문에 jquery 및 IE8에서이 문제가 발생할 수 있습니다. 이 코드를 사용하십시오.

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--<![endif]-->


답변

사이트에서 HTTPS를 사용하는 경우 대신 Google https 서버에서 jQuery 라이브러리를로드해야합니다. 이것을 시도하십시오 :
https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js
(또는 최신 https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/을 jquery.min.js )