2013-08-09 2 views
1

WebBrowser가 완전히 완료되었는지 확인하는 방법은 무엇입니까? 무거운 AJAX 웹 사이트에서는이 코드가 작동하지 않습니다. 사이트가 실제로 완료되기 전에 실행되어 자바 스크립트가 실행되는 동안 HTML 코드를 반환합니다.WebBrowser가 완전히 완료되었는지 확인하는 방법은 무엇입니까?

웹 사이트가 완전히 완료되었는지 확인해야합니다. 이 코드는 http://www.html5test.com

procedure Browser_DocumentComplete(ASender: TObject; 
    const pDisp: IDispatch; var URL: OleVariant); 
var 
    CurWebrowser: IWebBrowser; 
    TopWebBrowser: IWebBrowser; 
    Document: OleVariant; 
    WindowName: string; 
begin 
    CurWebrowser := pDisp as IWebBrowser; 
    TopWebBrowser := (ASender as TEmbeddedWB).DefaultInterface; 
    if (CurWebrowser = TopWebBrowser) and not Browser.Busy and (Browser.ReadyState >= READYSTATE_COMPLETE) then begin 
    FDocumentLoaded:=True; 
    end; 
end; 

답변

4

/업데이트의 내용을 수정 자바 스크립트를 아약스가 브라우저에 의해로드되어 사용하고 실행하는 웹 페이지 테스트되었습니다.

클라이언트는 "완전히 완료 됨"상태에 도달했는지 여부를 알 수 없습니다. 일부 JavaScript 메소드는 지연 후 또는 주기적으로 실행될 수 있습니다.

+0

이것은 실제로 해결책도 아니고 적절한 대답이 아닙니다. –

+1

왜 그것이 적절한 답변이 아니라고 생각합니까? 우리는 존재할 수없는 해결책을 제시 할 수 없습니다. * 초기화가 끝나면 자바 스크립트에서 콜백을 통해 응용 프로그램에 알릴 수 있지만 탐색 된 페이지 스크립트를 어떻게 든 삽입해야합니다 (* 초기화 * 완료와 같은 것이 있으면). – TLama

+0

@TLama 네, 가능하면 C# http://pastebin.com/gH5dbNHi 잘하면 내가 받아 들일 수 있도록 답변을 게시 할 수 있습니다. :) –

관련 문제