可以用下面的方法判断网页是否正常,不知还有没有其它更好的方法 procedure TForm1.WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString); begin if Text = '完成' then ShowMessage('ok'); end;
在网上还找到了下面的方法,你也可以试试 procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant); var d:Variant; begin d:=WebBrowser1.Document; Edit1.Text := WebBrowser1.OleObject.Document.title; if((Edit1.Text='没有可以显示的页面') or (Edit1.Text='HTTP 404 未找到')) then begin d.Write('<b>出错了!</b>'); d.Close; end; end;
判断顶层框架,来判断是否加载完成 procedure TForm.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant); var hr: HRESULT; pUnkBrowser,pUnkDisp: IUnknown; begin hr := (WebBrowser1.Application as IWebBrowser2).QueryInterface(IID_IUnknown,pUnkBrowser); if Succeeded(hr) then begin hr := pDisp.QueryInterface(IID_IUnknown,pUnkDisp); if Succeeded(hr) then begin if pUnkBrowser = pUnkDisp then //如果是顶层框架完成,则表示完成 begin //加载完成了。 end; end; end; end;
可以用下面的方法判断网页是否正常,不知还有没有其它更好的方法
procedure TForm1.WebBrowser1StatusTextChange(Sender: TObject;
const Text: WideString);
begin
if Text = '完成' then
ShowMessage('ok');
end;
const pDisp: IDispatch; var URL: OleVariant);
var
d:Variant;
begin
d:=WebBrowser1.Document;
Edit1.Text := WebBrowser1.OleObject.Document.title;
if((Edit1.Text='没有可以显示的页面') or (Edit1.Text='HTTP 404 未找到')) then
begin
d.Write('<b>出错了!</b>');
d.Close;
end;
end;
procedure TForm.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
hr: HRESULT;
pUnkBrowser,pUnkDisp: IUnknown;
begin
hr := (WebBrowser1.Application as IWebBrowser2).QueryInterface(IID_IUnknown,pUnkBrowser);
if Succeeded(hr) then
begin
hr := pDisp.QueryInterface(IID_IUnknown,pUnkDisp);
if Succeeded(hr) then
begin
if pUnkBrowser = pUnkDisp then //如果是顶层框架完成,则表示完成
begin
//加载完成了。
end;
end;
end;
end;