Program Tip

Internet Explorer 8의 jQuery 문제

programtip 2020. 10. 11. 11:15
반응형

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포함하는 페이지가 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 )


jQuery가로드되지 않으며 IE8에만 국한되지 않습니다. jQuery 포함 경로를 확인하십시오. 성명서. 또는 더 좋은 방법은 CDN에 다음을 사용하는 것입니다.

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

내가 만든 템플릿 고정 된 사람 doctype이 포함 깜빡 다른 사람을.

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

선언하지 않으면 doctype IE8 이 Quirks 모드에서 이상한 일을합니다.


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에 도달하도록 올바르게 구성되지 않았 음을 확인하여 해결했습니다.

나는 이것을 바꿨다. 그것은 제대로 작동한다.


inPrivate 필터링 이 켜져 있을 수 있습니까?


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


나는 당신이 나와 같은 문제가 있다고 생각합니다.

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

Because of cross domain reference. Try to host jquery.js on same domain.


In short, it's because of the IE8 parsing engine.

Guess why Microsoft has trouble working with the new HTML5 tags (like "section") too? It's because MS decided that they will not use regular XML parsing, like the rest of the world. Yes, that's right - they did a ton of propaganda on XML but in the end, they fall back on a "stupid" parsing engine looking for "known tags" and messing stuff up when something new comes around.

Same goes for IE8 and the jquery issue with "load", "get" and "post". Again, Microsoft decided to "walk their own path" with version 8. Hoping that they solve(d) this in IE9, the only current option is to fall back on IE7 parsing with <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />.

Oh well... what a surprise that Microsoft made us post stuff on forums again. ;)


The solution in my case was to take any special characters out of the URL you're trying to access. I had a tilde (~) and a percentage symbol in there, and the $.get() call failed silently.


OK! I know that jQuery is loading. I know that jQuery.textshadow.js is loading. I can find both of the scripts in Developer Tools.

The weird part: this code is working in the content area but not in the banner. Even with a dedicated fixIE.css. AND it works when I put the css inline. (That, of course, messes up FireFox.)

I have even put in a conditional IE span around the text field in the banner with no luck.

I found no difference and had the same errors in both jquery-1.4.2.min.js and jquery-1.2.6.min.js. jquery.textshadow.js was downloaded from the jQuery site while trying to find a solution to this problem.

This is not posted to the Website

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

반응형