下面几个是在编写多窗口浏览器时遇到的问题,希望大家帮助解答!(200分)

  • 主题发起人 主题发起人 Ehom
  • 开始时间 开始时间
E

Ehom

Unregistered / Unconfirmed
GUEST, unregistred user!
下面几个是在编写多窗口浏览器时遇到的问题,希望大家帮助解答!
1.如何在软件运行的过程中动态释放webBrowser占用的系统资源,用:
webBrowser.Free;
webBrowser:=nil;
内存占用减少的不明显!

2.能不能用ComboBox实现类似IE地址栏的下拉列表,既可以输入文字,又可以在前面绘制图标!
如果不能,有什么简单的方法可以实现!

3.有时,网站设计者会在网页中加入改变浏览器大小和位置的javascript代码,即使在发生改变后,改回来也会有个明显的闪烁过程,如何禁止改变或让人感觉不到改变!

4.如何在多窗口浏览器中禁止用window.open打开的广告窗口,但不禁止正常点击打开的窗口(如:<a href="XXX.htm" target="_blank">)!
也就是如何区别脚本打开的和正常打开的!
 
1、Free之前先WebBrowser.Navigate('about:blank'); 否则是不会释放内存的(WebBrowser的BUG?)
2、找现成的控件,如IE_DELPHI网站的TIEAddress控件
3、无
4、应该来说过滤广告窗口的功能都是根据URL来判断的,即在beforeNavigate判断
是广告的URL则不Navigate。
 
都什么年代了?还有人写这东西?真搞笑
 
人家练练手嘛。
 
搞笑就搞笑,谁叫我傻呢?
不过你能解决我的问题,我更感激!
另外再加两问:
1.如何在StatusPanel的各个不同的Panels中绘制不同的图像!
2.为了对TWebBrowser里的内容复制,粘贴,需要初始化OLE对象,但这时候如何初始化每个窗口的TWebBrowser的OnNewWindow2事件?
就像WebBrowser.OnNewWindow2:=self.WebBrowserNewWindow2
但继续这样使用会出现System.IDispatch和Ole2.IDispatch不相容的错误!
 
To xianjun:
Free之前先WebBrowser.Navigate('about:blank');
还是和以前一样,效果不明显!
我要的是像飓风浏览器的"优化整理内存"功能那样使内存占用率从几十M一下变为几M的效果!

我觉得"何区别新窗口是脚本打开的还是正常打开的"是可以判断的!
某些软件已经做到了!
 
"为了对TWebBrowser里的内容复制,粘贴,需要初始化OLE对象,但这时候如何初始化每个窗口的TWebBrowser的OnNewWindow2事件?
就像WebBrowser.OnNewWindow2:=self.WebBrowserNewWindow2
但继续这样使用会出现System.IDispatch和Ole2.IDispatch不相容的错误!"

这个已经解决,原来OLE2中和System中都声明了IDispatch,只要在声明WebBrowserNewWindow2时指明是system.IDispatch既可解决!

"能不能用ComboBox实现类似IE地址栏的下拉列表,既可以输入文字,又可以在前面绘制图标!
如果不能,有什么简单的方法可以实现!"

可以用DELPHI6中的ComboBoxEx中配合IAutoComplete接口实现!而ComboBoxEx和xianjun说的TIEAddress都是从TCustomComboBox继承来的!

请帮忙解决剩下的问题!谢谢!
 
为什么要多窗口,IE为什么不多窗口,你仔细考虑过么?
 
考虑过,但IE的应用层面和我的软件不一样!没用过Vs.net吗?为什么它用了多窗口???
 
多人接受答案了。
 
咳,没答案,结了
 
后退
顶部