2013-02-20 5 views
2

브라우저가 페이지를 얼마나 멀리로드했는지 알 수있는 방법이 있습니까?페이지로드 상태

JavaScript 또는 브라우저 기본 기능을 사용하십시오.

페이지 상태에 따라 진행률 표시 줄을 만들고 싶습니다.

+0

왜? 이미 브라우저 도구가 있습니다. F12 키를 누릅니다. 네트워크 탭 –

+0

check in firebug -> Net tab – Ashwin

+0

페이지로드 상태를 보여주기 위해 자신의 페이지에 진행률 표시 줄을 넣고 싶습니다. – gaurav

답변

2

나는이 작동 100 % 확실하지 않다,하지만 .. 여기에 이론 : 모든

첫째, 정지 자바 스크립트는 페이지가로드 실행하지 않습니다 때까지. 의미는,로드 또는 무엇인가라는 페이지 상단에서

는 자바 스크립트 변수를 초기화 .. window.ready document.ready 등을 사용하고 전반에 걸쳐 0

var loaded = 0;

로 설정하지 마십시오 페이지 증가량이 올바른 지점으로 간주되는 다른 지점에로드되었습니다.

예를 들어 페이지 절반이 코드 집합 loaded = 50;에로드되었을 것입니다.

기타 ...

내가 말했듯이 이것은 단지 개념 일뿐입니다.

+0

DOM을로드하는 데 0.2ms가 걸릴 수 있지만 모든 이미지는 ... 1.5s + 예를 들어 –

0

직접 결정해야하며이를 결정하는 방법이 있어야합니다. 하나의 가능성은 페이지를 따라 더미 요소를 갖고, 그것들의 합계를 알며, 각 포인트에 이미 얼마나 많은 것이 있는지 계산하는 것입니다. 그러나 그것은 얻을 수있는 DOM의 양을 줄뿐입니다.로드 시간의 아주 작은 부분 일 수 있습니다. 브라우저는 스크립트와 이미지를 기다리는 동안 유휴 상태입니다.

1

코드 : 요청의 시작 부분에서

function request() { 
    showLoading(); //calls a function which displays the loading message 

    myRequest = GetXmlHttpObject(); 
    url = 'path/to/script.php'; 
    myRequest.open('GET',url,true); 
    myRequest.onreadystatechange = function() { 
     if(myRequest.readyState == 4 && myRequest.status == 200) { 
      clearLoading(); //calls a function which removes the loading message 

      //show the response by, e.g. populating a div 
      //with the response received from the server 
     } 
    } 
    myRequest.send(null); 
} 

내가 showLoading() 전화를 동적으로 preLoaderDiv에 해당하는 추가 자바 스크립트를 사용합니다. 그런 다음 응답을 받으면 과 동등한 항목을 동적으로 제거하는 clearLoading()으로 전화합니다.