Delphi中WebBrowser判断页面及JS是否加载完成
来源:互联网 发布:证券网络开户 编辑:程序博客网 时间:2024/03/29 15:06
//真的有效吗?作者是如何跟踪的呀???
时间很完了,但问题总算解决了。
在一个程序中需要判断WebBrowser打开的页面是否加载完成,通常的做完是使用Busy属性,代码如下:
while WebBrowser1.Busy do
Application.ProcessMessages;
这个访问对于访问纯Html的页面时是一点儿问题都没有的,但有些页面在设计时为了不影响打开速度,是让html代码优先显示,然后再运行js代码或框架代码,由于我要访问的页面中没有调用框架页面,所以没作测试。
经过一夜的摸索,最终找到了解决办法:
procedure TForm1.wb1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
//判断页面及JS是否执行完毕
if ( Progress = 0 ) and ( ProgressMax = 0 ) and
( OldProgress = -1 ) then
begin
IsWebLoadComplete := True;
end;
OldProgress := Progress;
end;
在此之前我对ProgressChange事件参数中的值进行了跟踪,发现当前进度的值和总进度的值相等后并不一定代表页面全部加载完成,但页面在加载完成后,Progress和ProgressMax的后两个值却总是-1/1000000和0/0。Progress的值为-1,有可能是页面全部加载完成了,但也有可能是只加载完了需要访问的其中一个页面文件。
经过多次测试,当-1/1000000和0/0接连出现时,就可以保证页面已经全部加载完成了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tg2003/archive/2011/03/19/6260394.aspx
- Delphi中WebBrowser判断页面及JS是否加载完成
- Delphi中WebBrowser判断页面及JS是否加载完成
- Delphi中判断WebBrowser的页面是否加载完成
- 判断Webbrowser是否加载完成
- JS判断页面是否加载完成
- JS判断页面是否加载完成
- javascript js 判断页面是否加载完成
- JS判断页面是否加载完成 readyState
- js判断页面加载是否完成
- js判断页面是否加载完成
- 用js判断页面是否加载完成
- 用js判断页面是否加载完成
- js判断页面是否加载完成
- 用js判断页面是否加载完成
- WebBrowser中如何准确判断整个页面完全加载完成
- 判断页面是否加载完成
- 判断页面是否加载完成~
- js判断页面嵌套的iframe是否加载完成
- 处理导出到EXCEL时,身份证号码的问题:mso-number-format
- 【转】在Android中嵌入C语言程序
- 用C#调用ATL COM组件
- 3年了。。。。。。
- Domino 851 HA
- Delphi中WebBrowser判断页面及JS是否加载完成
- 给新的家庭成员打个招呼
- 奇怪问题
- 测试不是为了找出所有BUG,而是为了满足用户需求
- SOCKET 异步
- Operator Overloading
- php static 使用
- 将字符串s1中任何与字符串s2匹配的字符都删掉
- %s使用