[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 )