해당 페이지에서 정확한 코드를 사용하는 경우, 예를 들어 XMLHttpRequest를 저장하기 위해 단일 전역 변수를 사용하는 것처럼 놀라운 일은 아닙니다. 따라서 둘 이상의 동시 요청에 대해 작동 할 수있는 방법이 없습니다. 두 번째로 함수를 호출하면 req
을 새 것으로 덮어 쓰므로 ahahDone
에 의해 읽혀진 req
이 잘못된 요청이됩니다.
당신이해야이 (그것을 function ahah()
에 var
를 선언하여) req
에게 지역 변수를 확인하고 ahahDone()
함수에 target
로를 통과 할 수 있도록합니다. 아니면 그냥 인라인을 수행
function Element_loadHTML(element, url) {
var req= null;
if (window.XMLHttpRequest) {
req= new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
req= new ActiveXObject('MSXML2.XMLHttpRequest');
} catch() {}
}
if (!req) {
element.innerHTML= 'Browser does not support XMLHttpRequest';
return;
}
element.innerHTML= 'Loading...';
req.onreadystatechange= function() {
if (req.readyState===4)
element.innerHTML= req.status===200? req.responseText : 'Error '+req.status;
};
req.open('GET', url);
req.send(null);
}
Element_loadHTML(document.getElementById('appdata'), 'appdata.part.html');
Element_loadHTML(document.getElementById('foo'), 'bar.part.html');
브라우저 스니핑 및 스크립트 태그를 실행하려고 가진 물건을 희망하고 고장; 그것을 사용하지 마십시오. 페이지에 <script>
요소 콘텐츠를로드하는 것은 좋지 않습니다.
PREFECT, 나는 왜 내가 전에 그것을 보지 못했는지 모르겠다. 고맙습니다! 또한 스크립트 태그 실행 부분을 사용하지 않습니다. 정말 나쁜 생각 일뿐입니다. – Matt