이것은 쉽게 풀 수있는 문제인 것처럼 보이지만 내 엉덩이를 걷어차는 것입니다.IE9 js로드 순서 및 JQuery
다음 간단한 예제는 IE9에서 오류를 생성합니다. 나는 IE9의 개발자 페이지를 사용하여 네트워크로드를 모니터링했으며 포함 된 javascript가로드되거나 평가되기 전에 IE가 로딩하고 바디의 스크립트를 실행하는 것처럼 보입니다.
나는 내가 해결 방법이 <meta charset="UTF-8" />
및
<html>
<head>
<title>Demo of IE suckiness</title>
<script type='text/javascript'
src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
</head>
<body>
This works in every browser but not IE9. IE gives the error:
<pre>
Line: 9
Error: The value of the property '$' is null or undefined, not a Function object
</pre>
<script type="text/javascript" defer="defer">
$(document).ready(function(){
alert("Must not be IE");
});
</script>
</body>
</html>
<meta http-equiv="x-ua-compatible" content="IE8"/>
추가를 포함 답변을 검색을 통해 발견 된 모든 다양한 트릭을 시도했습니다. 준비된 스크립트를 <body onload="ready()">
으로 옮기십시오. 그러나 이것이 IE9에서 고장났다는 것을 믿을 수 없습니다. 나는 틀린 일을해야하며 그냥 볼 수 없습니다.
왜 "지연"을 사용합니까? $ (document) .ready는 문서가로드 될 때 실행될 것임을 의미합니다. –
jquery 라이브러리가 다운로드되고 있는지 확인할 수 있습니까? 어떤 이유로 http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js가 차단되었을 수 있습니다. – fehays
다운로드 중임을 확인했습니다. 문제는 페이지의 스크립트가 실행되기 전에로드되지 않는 것이 었습니다. "지연"은 먼저로드하지 않도록 시도하는 미친 시도였습니다. 나는 단지 말이 안되는 구만. 아래의 해결책은 모든 IE 설정을 재설정하는 것입니다. 보안 설정 등을 변경해야합니까? IE가 다운로드되지만 JQuery를로드하지 않는다는 것은 의미가 없습니다. – TrophyGeek