>  기사  >  웹 프론트엔드  >  jQuery의 load() 메소드가 Firefox에서만 작동하고 Chrome이나 Internet Explorer에서는 작동하지 않는 이유는 무엇입니까?

jQuery의 load() 메소드가 Firefox에서만 작동하고 Chrome이나 Internet Explorer에서는 작동하지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-28 22:01:02338검색

Why is jQuery's load() method only working in Firefox, but not in Chrome or Internet Explorer?

jQuery load() 메서드가 Firefox에서만 작동하는 이유는 무엇입니까?

jQuery와 AJAX를 자세히 조사하려는 시도에서 한 사용자가 다음과 같은 문제를 겪었습니다. 설명할 수 없는 문제. 공식 jQuery API 웹사이트의 가이드를 따랐음에도 불구하고 그들의 코드는 Chrome과 Internet Explorer에서 예상한 결과를 생성하지 못했습니다. 흥미롭게도 Firefox에서 열면 코드가 성공적으로 실행됩니다.

코드에는 load() 메서드를 사용하여 외부 HTML 파일(list1.html)을 검색하고 해당 콘텐츠를 지정된 DIV 요소("stage")에 로드하는 작업이 포함됩니다. ). 관련 HTML 및 JavaScript 코드:

<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$( "#stage" ).load( "list1.html" );
</script></code>

코드가 Firefox에서 예상대로 렌더링되어 글머리 기호 항목 목록을 표시하지만 Chrome 또는 Internet Explorer에는 아무것도 표시되지 않습니다. 이러한 불일치의 원인은 Chrome 및 IE를 포함한 최신 브라우저에서 적용되는 액세스 제한입니다.

브라우저 보안 제한

보안 강화를 위해 최신 브라우저에서는 웹 페이지 열림을 차단합니다. 로컬 파일에서(예: file:// 프로토콜을 통해) 다른 원본의 콘텐츠에 액세스(예: 외부 파일에 액세스) 이 제한은 다른 위치에서 파일을 검색하려고 시도하는 load() 메서드에 적용됩니다.

해결 방법

액세스 제한을 극복하려면 Chrome 또는 Chromium을 실행하세요. --allow-file-access-from-files 플래그를 사용합니다. 이 플래그는 웹 페이지의 컨텍스트 내에서 로컬 파일에 액세스할 수 있는 권한을 브라우저에 부여합니다. 이 플래그를 활성화하려면:

  1. 명령 프롬프트 또는 터미널을 엽니다.
  2. Chrome 또는 Chromium 설치 디렉터리로 이동합니다.
  3. 다음 명령을 실행합니다.
chrome.exe --allow-file-access-from-files

또는 다음 대상 경로로 바탕 화면 바로가기를 만들어 이 플래그를 영구적으로 설정할 수 있습니다.

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

위 내용은 jQuery의 load() 메소드가 Firefox에서만 작동하고 Chrome이나 Internet Explorer에서는 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.