XMLHttpRequest/ActiveXObject 동기화 및 비동기 로딩 사용 예에 대한 자세한 설명
XMLHttpRequest/ActiveXObject 비동기 로딩
동일한 폴더에 function5.html을 생성합니다. 코드는 다음과 같습니다.
<html> <head> <title></title> <script type="text/javascript"> function init() { //加载package.js文件,设置script的id为yy ajaxPage("yy","package.js"); //此方法为package.js里面的方法,此处执行方法成功 functionOne(); } function ajaxPage(sId,url) { var oXmlHttp = getHttpRequest(); oXmlHttp.onreadystatechange = function() { //4代表数据发送完毕 if ( oXmlHttp.readyState == 4 ) { //0为访问的本地,200代表访问服务器成功,304代表没做修改访问的是缓存 if(oXmlHttp.status == 200 || oXmlHttp.status == 0 || oXmlHttp.status == 304) { includeJS(sId,oXmlHttp.responseText); } else { } } } oXmlHttp.open("GET",url,true); oXmlHttp.send(null); } function getHttpRequest() { if(window.ActiveXObject)//IE { return new ActiveXObject("MsXml2.XmlHttp"); } else if(window.XMLHttpRequest)//其他 { return new XMLHttpRequest(); } } function includeJS(sId,source) { if((source != null)&&(!document.getElementById(sId))) { var myHead = document.getElementsByTagName("HEAD").item(0); var myScript = document.createElement( "script" ); myScript.language = "javascript"; myScript.type = "text/javascript"; myScript.id = sId; try{ myScript.appendChild(document.createTextNode(source)); } catch (ex){ myScript.text = source; } myHead.appendChild( myScript ); } } </script> </head> <body> <input type="button" value="测试按钮" onclick="init()"/> </body> </html>
ActiveXObject는 IE에서만 사용할 수 있으며 대부분의 다른 브라우저는 XMLHttpRequest를 지원합니다. 이 방법을 통해 스크립트를 동적으로 로드할 수 있지만 비동기적으로 로드되어 functionOne을 두 번째로 실행할 수는 없지만, 아쉽게도 IE, Firefox, Safari에서는 실행할 수 있지만 Opera 및 Chrome에서는 오류가 발생합니다. Chrome에서 출시되었습니다. Opera로 실행하면 오류가 발생하지 않습니다.
실제로 여기서 open을 false로 설정하면 동기 로딩에는 onreadystatechange 이벤트 설정이 필요하지 않습니다. XMLHttpRequest/ActiveXObject 동기 로딩 여기에서는 향후 직접 호출을 용이하게 하기 위해 몇 가지 상황을 고려하고 loadJS.js로 캡슐화된 메서드를 작성했습니다./** * 同步加载js脚本 * @param id 需要设置的<script>标签的id * @param url js文件的相对路径或绝对路径 * @return {Boolean} 返回是否加载成功,true代表成功,false代表失败 */ function loadJS(id,url){ var xmlHttp = null; if(window.ActiveXObject)//IE { try { //IE6以及以后版本中可以使用 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { //IE5.5以及以后版本可以使用 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } else if(window.XMLHttpRequest)//Firefox,Opera 8.0+,Safari,Chrome { xmlHttp = new XMLHttpRequest(); } //采用同步加载 xmlHttp.open("GET",url,false); //发送同步请求,如果浏览器为Chrome或Opera,必须发布后才能运行,不然会报错 xmlHttp.send(null); //4代表数据发送完毕 if ( xmlHttp.readyState == 4 ) { //0为访问的本地,200到300代表访问服务器成功,304代表没做修改访问的是缓存 if((xmlHttp.status >= 200 && xmlHttp.status <300) || xmlHttp.status == 0 || xmlHttp.status == 304) { var myHead = document.getElementsByTagName("HEAD").item(0); var myScript = document.createElement( "script" ); myScript.language = "javascript"; myScript.type = "text/javascript"; myScript.id = id; try{ //IE8以及以下不支持这种方式,需要通过text属性来设置 myScript.appendChild(document.createTextNode(xmlHttp.responseText)); } catch (ex){ myScript.text = xmlHttp.responseText; } myHead.appendChild( myScript ); return true; } else { return false; } } else { return false; } }
위 내용은 XMLHttpRequest/ActiveXObject 동기화 및 비동기 로딩 사용 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제










![Illustrator에서 플러그인 로드 중 오류 발생 [수정됨]](https://img.php.cn/upload/article/000/465/014/170831522770626.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Adobe Illustrator를 시작할 때 플러그인 로딩 오류에 대한 메시지가 팝업됩니까? 일부 Illustrator 사용자는 응용 프로그램을 열 때 이 오류가 발생했습니다. 메시지 뒤에는 문제가 있는 플러그인 목록이 표시됩니다. 이 오류 메시지는 설치된 플러그인에 문제가 있음을 나타내지만 손상된 Visual C++ DLL 파일이나 손상된 기본 설정 파일과 같은 다른 이유로 인해 발생할 수도 있습니다. 이 오류가 발생하면 이 문서에서 문제 해결 방법을 안내하므로 아래 내용을 계속 읽어보세요. Illustrator에서 플러그인 로드 오류 Adobe Illustrator를 시작하려고 할 때 "플러그인 로드 오류" 오류 메시지가 표시되면 다음을 사용할 수 있습니다. 관리자로

Windows PC의 Stremio에서 자막이 작동하지 않습니까? 일부 Stremio 사용자는 동영상에 자막이 표시되지 않는다고 보고했습니다. 많은 사용자들이 "자막을 로드하는 중 오류가 발생했습니다."라는 오류 메시지가 나타났다고 보고했습니다. 이 오류와 함께 나타나는 전체 오류 메시지는 다음과 같습니다. 자막을 로드하는 동안 오류가 발생했습니다. 자막을 로드하지 못했습니다. 이는 사용 중인 플러그인이나 네트워크에 문제가 있을 수 있습니다. 오류 메시지에서 알 수 있듯이 인터넷 연결로 인해 오류가 발생할 수 있습니다. 따라서 네트워크 연결을 확인하고 인터넷이 제대로 작동하는지 확인하십시오. 이 외에도 충돌하는 자막 추가 기능, 특정 비디오 콘텐츠에 대해 지원되지 않는 자막, 오래된 Stremio 앱 등 이 오류의 다른 이유가 있을 수 있습니다. 좋다

인터넷이 발전하면서 점점 더 많은 웹페이지에서 스크롤 로딩을 지원해야 하는데, 무한 스크롤 로딩이 그 중 하나입니다. 이를 통해 페이지에 새로운 콘텐츠가 지속적으로 로드되어 사용자가 웹을 보다 원활하게 탐색할 수 있습니다. 이번 글에서는 PHP를 이용하여 무한 스크롤 로딩을 구현하는 방법을 소개하겠습니다. 1. 무한 스크롤 로딩이란 무엇인가요? 무한 스크롤 로딩은 스크롤 막대를 기반으로 웹 콘텐츠를 로딩하는 방법입니다. 그 원리는 사용자가 페이지 하단으로 스크롤할 때 AJAX를 통해 배경 데이터를 비동기적으로 검색하여 지속적으로 새 콘텐츠를 로드하는 것입니다. 이런 종류의 로딩 방법

Outlook에 하이퍼링크를 삽입할 때 정지 문제가 발생하는 경우 불안정한 네트워크 연결, 이전 Outlook 버전, 바이러스 백신 소프트웨어의 간섭 또는 추가 기능 충돌이 원인일 수 있습니다. 이러한 요인으로 인해 Outlook이 하이퍼링크 작업을 제대로 처리하지 못할 수 있습니다. 하이퍼링크를 삽입할 때 Outlook이 멈추는 문제 해결 다음 수정 사항을 사용하여 하이퍼링크를 삽입할 때 Outlook이 멈추는 문제를 해결하세요. 설치된 추가 기능 확인 Outlook 업데이트 일시적으로 바이러스 백신 소프트웨어를 비활성화한 다음 새 사용자 프로필을 만들어 보세요. Office 앱 수정 프로그램 Office 제거 및 재설치 시작하겠습니다. 1] 설치된 추가 기능을 확인하세요. Outlook에 설치된 추가 기능이 문제의 원인일 수 있습니다.

CSS를 로드할 수 없는 문제에 대한 해결 방법에는 파일 경로 확인, 파일 내용 확인, 브라우저 캐시 지우기, 서버 설정 확인, 개발자 도구 사용 및 네트워크 연결 확인이 포함됩니다. 자세한 소개: 1. 파일 경로를 확인하십시오. 먼저 CSS 파일의 경로가 올바른지 확인하십시오. CSS 파일이 웹사이트의 다른 부분이나 하위 디렉토리에 있는 경우 올바른 경로를 제공해야 합니다. CSS 파일은 루트 디렉토리에 있으며 경로는 직접적이어야 합니다. 2. 파일 내용을 확인하십시오. 경로가 올바른 경우 CSS 파일 자체에 문제가 있을 수 있습니다.

win7 시스템을 설치할 때 일부 네티즌은 USB 드라이버 로딩에 실패하는 상황에 직면했습니다. 새로운 win7 시스템에서 USB 장치를 인식할 수 없으며 일반적인 USB 플래시 드라이브, 마우스 및 기타 장치를 사용할 수 없습니다. 그렇다면 win7 설치 시 USB 드라이버를 로드하지 못한 경우 어떻게 해야 합니까? Win7을 설치할 때 USB 드라이버를 로드하지 못하는 문제를 해결하는 방법을 Xiaobai에서 가르쳐 드리겠습니다. 방법 1: 1. 먼저 컴퓨터를 켜고 컴퓨터 시스템에 들어가서 컴퓨터 시스템의 컴퓨터 시스템 버전을 확인합니다. 컴퓨터 시스템 버전이 장치 드라이버 버전과 일치하는지 확인하세요. 2. 드라이버 버전을 확인한 후 USB 장치를 컴퓨터 시스템에 연결합니다. 컴퓨터 시스템에 장치를 시스템에 연결할 수 없다고 표시됩니다. 3. 연결 정보 페이지에서 도움말 버튼을 클릭하면 도움말 정보를 볼 수 있습니다. 4. 컴퓨터학과의 경우

JavaScript는 페이지 하단으로 스크롤할 때 자동으로 로드되는 무한 스크롤 효과를 어떻게 구현합니까? 무한 스크롤 효과는 최신 웹 개발의 일반적인 기능 중 하나입니다. 페이지 하단으로 스크롤할 때 자동으로 더 많은 콘텐츠를 로드할 수 있으므로 사용자는 수동으로 버튼이나 링크를 클릭하지 않고도 더 많은 데이터나 리소스를 얻을 수 있습니다. 이 기사에서는 JavaScript를 사용하여 이 기능을 구현하는 방법을 살펴보고 특정 코드 예제를 제공합니다. 페이지 하단까지 스크롤할 때 자동으로 로딩되는 무한스크롤 효과를 얻기 위해서는 주로 다음과 같이 구분됩니다.

JavaScript는 웹 페이지 하단으로 스크롤할 때 더 많은 콘텐츠를 자동으로 로드하는 기능을 어떻게 구현합니까? 개요: 무한 스크롤은 최신 인터넷 애플리케이션의 일반적인 기능입니다. 사용자가 웹 페이지 하단으로 스크롤하면 더 많은 콘텐츠가 자동으로 로드되어 더 나은 사용자 경험을 제공합니다. JavaScript는 이 기능을 달성하는 데 도움이 될 수 있습니다. 이 기사에서는 JavaScript를 사용하여 사용자 스크롤 이벤트를 수신하고 스크롤 위치에 따라 더 많은 콘텐츠를 로드하는 방법에 대한 구체적인 코드 예제를 소개합니다. 구체적인 구현: 첫째, HTM에서
