如何判断webbrowser已经打开一个文档?
在窗口上放了一个WEBBROWSER控件ole_web
然后用ole_web.object.navigate( as_url )打开一个文档。
WebBrowser 是以非同步方式打开文档,在文档載入完成前就回到 PB应用程序代码。
如何进行控制,在文档載入完成后再返回到 PB 应用程序代码呢?
[解决办法]
这个应该有不好控制,只能写代码看测试一下
do 测试一下是否载入完成
yield()
loop
做下一步工作
[解决办法]
有DELPHI 的代码
var
FBusy: bool;
procedure TForm1.Button1Click(Sender: TObject);
begin
FBusy := True;
WebBrowser1.Navigate('http://www.csdn.net');
while FBusy do Application.ProcessMessages;
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
lpWBDisp: IDispatch;
begin
(Sender as TWebBrowser).ControlInterface.QueryInterface(IDispatch, lpWBDisp);
if (pDisp = lpWBDisp ) then begin
FBusy := False;
Showmessage('完成');
end;
end;