2012-08-03 4 views
0

Jquery에서 URL 또는 페이지로드 시간을 얻을 수있는 방법이 있습니까? 예를 들어, "http://www.yahoo.com"에 아약스 요청을하면 페이지를 완전히로드하는 데 걸리는 시간을 알고 싶습니다. 나는 동일한 도메인 정책을 알고 있습니다. 하지만 그냥 페이지 로딩 시간을 알려주는 간단한 자바 스크립트 유틸리티를 작성하고 싶습니다.jquery가있는 대상 페이지 또는 URL의 페이지로드 시간

YSlow 등의 도구가 있다는 것을 알고 있지만이 유틸리티를 브라우저 탭에서 계속 실행하고 페이지 로딩 시간이 특정 임계 값을 초과하면 경고 (자바 스크립트) 경고를 표시합니다.

감사합니다, J

답변

3

뭔가 잘 작동합니다.

var startTime; 
$.ajax({ 
    // url, type, dataType, etc 
    beforeSend: function(xhr){ 
     startTime = +new Date(); 
    } 
    complete: function(xhr, state){ 
     var latency = (+new Date()) - startTime; 
     window.console.log(latency); 
    } 
}); 
+0

완료되기 전에 쉼표 – art1go

0

당신이 좋아하는 "beforeSend"옵션에 의해 호출 함수의 시작 시간 변수를 설정할 수 있습니다 아약스 난 당신이 $를 사용하고 그런 다음 다른 설정

var start = (new Date()).getTime(); 

같은 "완전한"옵션 변수 :

:

var finish= (new Date()).getTime(); 

는 다음과 같은 시간 (초)을 얻기 위해 두 개의 비교

var secs = (finish-start)/1000; 

또는 일단 시작 변수를 설정하면 시작 변수가 임계 값을 초과 할 때까지 "setInterval()"을 사용하여 현재 변수를 검사하십시오.

는하지만 꽤 잘 여기에 덮여 너무 $의 아약스에서 "타임 아웃"옵션이 있습니다 알고 도움이 될 수있다 :이 같은

Determine if $.ajax error is a timeout

관련 문제