브라우저에서 HTTP 요청이 열려 있는지 확인하는 방법은?
다음과 같은 경우 쉽게 알아낼 수 있는 방법이 있나요?XMLHttpRequest
브라우저 창에서 활성화됩니까?또는 얼마나 많이 활동하고 있습니까?즉, 브라우저 창에서 활성화된 AJAX 호출이 있는지 확인할 수 있는 방법이 있습니까?
질문 확장:javascript를 사용하여 XMLHttpRequest가 열려 있는지 확인할 수 있는 방법이 있습니까?예를 들어"window.XMLisActive()"
아니면 그런 거?
해결책:결국 포장지를 쓰게 되었습니다.XMLHttpRequest
: 요충지
다음에 대한 래퍼를 작성하지 않는 한 JS에서 열린 연결을 감지할 수 있는 방법은 없습니다.XmlHttpRequest
(또는 원숭이 패치잇) 열려있는 연결을 추적합니다.
여기 키드캐피털의 원숭이 패치가 있어 완벽한지는 모르겠지만 좋은 시작입니다
(function() {
var oldOpen = XMLHttpRequest.prototype.open;
window.openHTTPs = 0;
XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
window.openHTTPs++;
this.addEventListener("readystatechange", function() {
if(this.readyState == 4) {
window.openHTTPs--;
}
}, false);
oldOpen.call(this, method, url, async, user, pass);
}
})();
메모
처리할 수 없습니다.fetch
웹소켓을 사용할 수도 있지만, 그런 경우에는 비슷한 일을 할 수도 있습니다.
파이어버그를 이용하시면 됩니다.
@juan-mendes의 해결책을 시도했는데 오류가 발생했습니다.ERROR Error Code: undefined Message: Failed to set the 'responseType' property on 'XMLHttpRequest': The response type cannot be changed for synchronous requests made from a document.
내 Angular 어플리케이션에서.원인은.async
기본적으로 참으로 간주되지만 인수가 누락되면 이 패치가 통과됩니다.undefined
거짓으로 해석됩니다.이 작은 변화가 있는 코드는 저에게 적합합니다.
(function() {
var oldOpen = XMLHttpRequest.prototype.open;
window.openHTTPs = 0;
XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, pass = null) {
window.openHTTPs++;
this.addEventListener("readystatechange", function() {
if(this.readyState == 4) window.openHTTPs--;
}, false);
oldOpen.call(this, method, url, async, user, pass);
}
})()
jQuery를 사용하면 글로벌 이벤트 핸들러인 .jajaxStart() 및 .jajaxComplete()에서 열린 요청이 있는지 추적할 수 있습니다.
ajaxStart와 ajaxComplete에 재설정된 전역 변수가 작업을 수행합니다.
언급URL : https://stackoverflow.com/questions/9267451/how-to-check-if-http-requests-are-open-in-browser
'programing' 카테고리의 다른 글
도커 파일에서 RUN과 CMD의 차이 (0) | 2023.10.19 |
---|---|
정지된 도커 컨테이너를 다른 명령으로 시작하는 방법? (0) | 2023.10.19 |
UIMagePickerController에서 다중 이미지를 선택하는 방법 (0) | 2023.10.19 |
도커 컨테이너 mysql-server에서 설정하지 않을 때 기본 암호는 무엇입니까? (0) | 2023.10.19 |
WooCommerce 주문 항목 및 메타 데이터를 검색하기 위한 SQL 선택 쿼리 (0) | 2023.10.19 |