十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
DocumentCompleted事件只有在网页加载完毕后才调用,
创新互联主营建华网站建设的网络公司,主营网站建设方案,成都app开发,建华h5小程序开发搭建,建华网站营销推广欢迎建华等地区企业咨询
有些网页还没完整的打开就已经触发事件,说明你的webbrowser有问题。
尝试用webbrowser1.IsBusy 来测试判断
'--------------------
百度VB2010(VB.NET)吧建设发展中,需要你的支持和帮助!!!
快加入我们吧!发表你的疑问,经验,程序,分享..
让我们共同进步!
当然不行,那个是整个网页的
要这样
web1=
webbrowser
1
For
i
=
To
Web1.Document.All.Count
-
1
'要具体判断是哪个控件还要看这两个
'Web1.Document.All(i).TagName
'Web1.Document.All(i).Name
Text1.Text=Web1.Document.All(i).InnerText
Next
i
部分代码如下:
在窗口及WebBrowser创建完以后,写此代码:
WebBrowser.OnNewWindow2:=IE1NewWindow2;
给主窗口创建一个方法:
procedure TBrowForm.IE1NewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);
Var NewForm:TBrowForm;
begin
try
NewForm :=TPopBrowerForm.Create(application);
NewForm.WebBrowser.OnNewWindow2 :=IE1NewWindow2;//如果在窗口的Oncreate事件
//有此代码,此处就可以省略
ppDisp := NewForm.WebBrowser.Application;
NewForm.Show;
Cancel:=false;
except
end;
end;
区别很大啊,web控件实质上是控制站点输出生成网页上的一个控件,主要是输出html代码,
ocx控件主要是自己画生成2进制可执行ocx文件
一、通过DocumentCompleted 事件
每一次网页完成之后都后发送DocumentCompleted 事件,但是拥有多个frame时,浏览器就会发送多个DocumentCompleted事件,所以到最后也无法最终判断网页最终什么时候加载完成。
二、通过webBrowser.ReadyState
通过每一次读取webBrowser.ReadyState,如同上前面所列的一样,每一次DocumentCompleted完成之事都会置ReadyState为Complete ,所以还是无法准确判断网页是否完成准确的判断。
定义webbrowser时设置名称
dim webTab new webbrowser
webTab.Name = "webTab" '加上这句话,让Tab控件得知webbrowser这个控件
然后使用下面的代码可以实现了:
TabControl.SelectTab.Controls["webTab"].Navigate(".....")
如果你的Tab里就只有webbrowser这一个控件,也可以这样:
TabControl.SelectTab.Controls[0].Navigate(".....")