WebBrowser在backgroud时,为何不能正常装入网页?难道一定wb要可见才行吗?(200分)

  • 主题发起人 主题发起人 yifeng
  • 开始时间 开始时间
Y

yifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我碰到这样一个问题,我的程序中,又一个pagecontrol和webbrowser,
当webbrowser在pagecontrol 的第二页,(第一页是当前页),我调用
navagate2(url)时,webbrowser显然并不工作,一般只载入30%的内容,必须手工的切换到
pagecontrol的第二页,哪怕是0.1秒,又切换回第一页, webbrowser就会继续工作,直至
下载完毕.
到底这个问题如何解决?
 
我把所有的WebBrowser都放在一个Panel中, 和PageControl差不多.
问题不再这里. 我已经有眉目了:
wb:=twebbrowser.create(nil);
wb.align:=alnone;
wb.width:=0;
wb.height:=0;
tcontrol(wb).parent:= panel1;
wb.align:=alclient;
效果好很多了.
 
你的意思是只要动态生成wb就可以避免wb不载入页面的问题?

procedure TForm1.Button1Click(Sender: TObject);
begin
wb:=twebbrowser.create(nil);
wb.align:=alnone;
wb.width:=0;
wb.height:=0;
wb.Navigate('www.sohu.com',emptyparam,emptyparam,emptyparam,emptyparam);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
tcontrol(wb).parent:= panel1;
wb.align:=alclient;
end;

wb还是不载入所有页面。
问题到底如何解决?
 
哈哈,这个问题我真巧也遇到过!
我不知道到底为什么,但我已经解决了!
其实很简单:
...
//TabSheet1是WebBrowser1的容器。
TabSheet1.Visible:=True;
TabSheet1.Visible:=False;
//放心,不会造成闪烁!
WebBrowser1.Navigate('www.sina.com.cn');
...

有问题再讨论!
 
yap , 管用!
你做过什么样的程序,交流一下如何?
liulian@citiz.net

还有一个问题,如果我在一个线程里面创建一个wb的实例,这个wb的实例只是要把网页
下载下来,而不需要显示,请问有没有什么方法解决网页下载不全的问题?
 
你们使用webbrowser控件内存会越来越少吗?为何我会?
 
我回去看看。
//内存太大,没有注意
 
不好意思,今天才登上来。
to:yifeng 我前一段时间在试着玩TWebBrowser控件时遇到了这个问题
我也发现了动态建立的TWebBrowser的内存释放问题,不过我也没办法。
 
知道如何取得IE窗口中网页显示部分的大小吗?
 
我想把webbrowser显示的内容保存下来,怎么样不弹出保存对话框,直接保存到指定的位置?
 
多人接受答案了。
 
后退
顶部