楼上的做法不能适应多frame。楼主可以尝试:procedure Button1.OnClick(Sender: TObject); begin FBusy := True; //声明FBusy为Boolean全局变量。 WebBrowser1.Navigate(url); while FBusy do Application.ProcessMessages; end; procedure TFormBaseNavigate.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var lpWBDisp: IDispatch; begin (Sender as TWebBrowser).ControlInterface.QueryInterface(IDispatch, lpWBDisp); if (pDisp = lpWBDisp ) then FBusy := False; end;
begin
FBusy := True; //声明FBusy为Boolean全局变量。
WebBrowser1.Navigate(url);
while FBusy do Application.ProcessMessages;
end;
procedure TFormBaseNavigate.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
lpWBDisp: IDispatch;
begin
(Sender as TWebBrowser).ControlInterface.QueryInterface(IDispatch, lpWBDisp);
if (pDisp = lpWBDisp ) then FBusy := False;
end;