WebBrowser 动态装入的困惑(200分)

  • 主题发起人 主题发起人 5291
  • 开始时间 开始时间
5

5291

Unregistered / Unconfirmed
GUEST, unregistred user!
我做多窗口浏览器. (WebBrowser 简称 WB)
动态生成的 WB 显示到 aPanel 中必须 aPanel.InsertControl(WB).
-------------------------------------------------------------
假设我当前有 WB, 用上述方法生成 WB2 (放到后台, 不马上显示),
屏幕会出现短暂的闪烁.
-------------------------------------------------------------
我如果把这个需被生成的 WB2. 等到第一次被显示时, 再放入 aPanel.
闪烁就不会出现了. 但是这有个缺陷:
60% 的情况下, 该 WB2 在后台并不运行, 处于等待状态.
它的状态栏, 进度, 标题都不会进行. (Inactive)
-------------------------------------------------------------
我希望既可以像第一种方法那样, 在后台正常运行. 随时等待我使用.
又可以像第二种方法那样, 生成于后台时, 不会发生屏幕闪烁.
请问有没有解决的方法啊!
-------------------------------------------------------------
我知道 NetCaptor 解决了这个问题. 我用 TabControl + Panel.
即使改换成 PageControl 的话, 情况和第二种方法相同.


-------------------------------------------------------------
http://www3.msstudio.net/xuqian
 
将WebBrower套入一个窗体(form2)再重载这个窗体试一下吧
 
难道没有高手知道如何解决吗?
 
此外, 用OnNewWindow2处理新开窗口也有问题:
tWB: TWebBrowser;
begin
tWB := TWebBrowser.Create(nil);
ppDisp := tWB.Application;
Panel1.InsertControl(tWB);
end;

有时会出现 EOleError: Could not obtain OLE control window Handle.
 
换成这句试一下 ppdisp:=tWB.DefaultDispatch ;
 
谢谢, 第二个问题我已经解决了. 不是 OnNewWindow2 引起的.
主要是因为 JavaScript 自动关闭页面, 引起的问题.

第一个问题有谁知道啊!
 
你把 tWB 移到屏幕外面, InsertControl, 然后在移进来
 
我也碰到同样问题,当webbrowser在pagecontrol 的第二页,(第一页是当前页),我调用
navagatr2(url)时,webbrowser显然并不工作,一般只载入30%的内容,必须手工的切换到
pagecontrol的第二页,哪怕是0.1秒,又切换回第一页, webbrowser就会继续工作,直至
下载完毕.
到底这个问题如何解决?
 
估计还是 ActiveX 的问题.
我发现 WebBrowser 的功能没有 IE5 抢.
不信你试试写个页面:
含有 window.external.addfavorite('http://www3.msstudio.net/xuqian' 秘密基地)
看看你的浏览器, 以及市面上的浏览器, 没有几个可以成功的.
除了 IE5, MyIE, 我的浏览器也已经解决了这个问题.
 
接受答案了.
 
你如何解决的?可否告知?谢谢!
liulian@citiz.net
 
后退
顶部