itsource

인터넷 익스플로러 8의 jQuery 문제

mycopycode 2023. 9. 19. 21:03
반응형

인터넷 익스플로러 8의 jQuery 문제

저는 제 jQuery 기능을 IE8에서 작동시키기 위해 노력하고 있습니다.구글 서버(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" 

저도 비슷한 문제가 있었습니다.IE6, Firefox 및 IE8에서는 IE7 호환 모드에서 작동했지만 '정상' IE8에서는 작동하지 않았습니다.내 해결책은 이 코드를 헤더에 넣는 것이었습니다.

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

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

해결책은 jQuery의 최신 버전으로 업그레이드하는 것입니다.저도 똑같은 문제가 있어서 1.4.2로 업그레이드했는데 IE8에서 다시 정상 작동합니다.

내가 한 모든 jQuery 1.3.2 작업과 완전히 역호환되는 것 같으니 여기서 불평하지 마세요!

저는 이런 문제가 있어서 여기에 언급된 해결책들을 시도했지만 성공하지 못했습니다.

저는 CDN 버전의 을 깨달았습니다.http URLn인 .https page.

이로 인해 IE가 jquery를 로드하지 않게 되었습니다(보안 콘텐츠만 로드할지 여부를 묻는 메시지가 표시됨).구글 CDN URL을 https 방식으로 변경하면 문제가 해결되었습니다.

이 게시물에서 비틀거리는 일부 사람들은 >= 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) .

jQuery가 로드되고 있지 않습니다. IE8에만 해당되지 않을 가능성이 높습니다.jQuery에서 포함된 경로를 확인합니다.진술.아니면 다음을 CDN에 사용하는 것이 더 좋습니다.

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">
</script>

문서를 포함하는 것을 잊어버린 다른 사람이 만든 템플릿을 고치고 있었습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

만약 당신이 선언하지 않는다면,doctype IE8은 Quicks 모드에서 이상한 행동을 합니다.

Object expectedJquery가 로드되지 않았기 때문에 발생합니다.이는 브라우저 보안(일반적으로 IE)으로 인해 외부 자바스크립트 소스 코드를 실행할 수 없기 때문에 발생합니다.다음을 통해 이 문제를 해결할 수 있습니다.

  • 1: 외부 자바스크립트 코드 실행이 가능하도록 브라우저 보안 수준 변경여기서 이 방법을 찾을 수 있습니다.

오어

  • 2: jquery 소스 코드를 웹 페이지에 복사 붙여넣어 외부 스크립트로 간주하지 않도록 합니다.

저는 첫 번째 해결책이 더 좋습니다.

onload 이벤트가 항상 IE7/8에서 작동하는 것은 아닙니다.<head> ... </head>

아래와 같이 태그 앞에 페이지 끝에 onload 스크립트를 추가하여 강제할 수 있습니다.

  <script>
    window.onload();
  </script>
</body>

아마 대본을 두 개 삽입하면 될 겁니다.

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">/script> 

이를 통해 IE8의 문제가 해결되었습니다.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

localhost에서 실행 중 https://http://로 변경해야 했습니다.

보안 링크를 탐색하려고 하면 Internet Explorer(인터넷 익스플로러)에 웹 페이지 친화적 경고가 표시되지 않습니다.

문제가 있는 경우 항상 먼저 브라우저에 텍스트 스크립트를 로드합니다.

저도 똑같은 문제가 있었습니다.

저는 IE8이 SRC URL에 도달할 수 있도록 올바르게 구성되지 않았음을 확인하며 해결하였습니다.

제가 바꿨습니다. 제대로 작동합니다.

개인 필터링 기능이 켜져 있는 것은 아닐까요?

저도 같은 문제가 있었습니다.해결책은 IE에서 신뢰할 수 있는 사이트로 JQuery 파일에 링크를 추가하는 것이었습니다.

당신도 저와 같은 문제가 있다고 생각합니다.

Message: Permission denied
Line: 13
Char: 27021
Code: 0
URI: http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.3.2.min.js

교차 도메인 참조 때문입니다.jquery.js를 동일한 도메인에 호스팅해 보십시오.

한마디로 IE8 파싱 엔진 때문입니다.

Microsoft가 새로운 HTML5 태그(예: "섹션")를 사용하는 데도 문제가 있는 이유를 추측해 보십시오.MS가 다른 세계처럼 일반 XML 파싱을 사용하지 않기로 결정했기 때문입니다.네, 맞습니다. XML을 통해 수많은 선전을 했지만 결국에는 "알려진 태그"를 찾아내고 새로운 것이 등장하면 엉망이 되는 "멍청한" 파싱 엔진에 의지하게 됩니다.

IE8 및 "load", "get" 및 "post"에 대한 jquery 문제도 마찬가지입니다.마이크로소프트는 버전 8로 "그들만의 길을 걷기로" 결정했습니다.이 현재 은 IE9며,은 IE7입니다.<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />.

아, 뭐...Microsoft가 포럼에 다시 글을 올리도록 한 것은 정말 놀라운 일입니다. ;)

제 경우 해결책은 접속하려는 URL에서 특별한 문자를 빼내는 것이었습니다.거기에 타일(~)과 백분율 기호가 있었는데 $.get() 호출이 조용히 실패했습니다.

알겠습니다. jQuery가 로딩중인것으로 알고있습니다.나는 그것을 알고 있습니다.jQuery.textshadow.js로드 중입니다.개발자 도구에서 두 스크립트를 모두 찾을 수 있습니다.

이상한 부분: 이 코드는 콘텐츠 영역에서는 작동하지만 배너에서는 작동하지 않습니다.헌신적인 사람이라도fixIE.css. CSS를 인라인에 넣으면 작동합니다.(물론 파이어폭스를 망칩니다.)

배너의 텍스트 필드 주변에 조건부 IE 범위를 넣었지만 운이 없었습니다.

나는 차이를 발견하지 못했고 둘 다 같은 오류가 있었습니다.jquery-1.4.2.min.js그리고.jquery-1.2.6.min.js.jquery.textshadow.js이 문제에 대한 해결책을 찾던 중 jQuery 사이트에서 다운로드되었습니다.

웹 사이트에 게시되지 않았습니다.

언급URL : https://stackoverflow.com/questions/879137/jquery-issue-in-internet-explorer-8

반응형