用webbrowser做了个浏览器,要求每打开一个网页后对此网页进行有关处理,我将处理过程在WebBrowser的DocumentComplete事件中调用,发现有几个问题:
1.为什么打开新页面时才处理先前的页面?我要它处理当前页面呀,问题在哪?
2.打开象www.163.com这样的网站时,只能处理输入在ComBobox中的那一页,点这一页中的其它超链接时却在一个新窗口中用IE打开了,我的浏览器根本捕捉不到,怎么解决?
1.为什么打开新页面时才处理先前的页面?我要它处理当前页面呀,问题在哪?
2.打开象www.163.com这样的网站时,只能处理输入在ComBobox中的那一页,点这一页中的其它超链接时却在一个新窗口中用IE打开了,我的浏览器根本捕捉不到,怎么解决?
解决方案 »
- 由输入和输出得出公式
- 真的没人能解答这个问题吗
- 很難嗎? 三天了都沒有一個人來頂一下﹐傷心啊﹗CSDN大不如前了﹗
- 鼎立支持猛禽(Raptor)和Ari两个家伙当Delphi区大斑!!!!!!!!
- 高分请教熟悉TTS(TextToSpeech)的朋友
- adocommand1.commandtext:='select * from TbProduct.dbf into TbNewProduct.dbf'执行没有结果
- 转化问题
- 为什么屏幕光标(彩色的)会闪烁?????
- 表记录的排序问题
- 高程考什么语言? C/C++ 么?还有汇编?另外还需要一些什么参考书呢?
- fastreport重复打印???
- 关于屏蔽WebBrowser菜单
2、在WebBrowser的NewWindow2事件中写代码,在自己程序中用新窗口打开~这是以前的程序,符合你的第二个问题。
procedure TMyWebBrw.NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
var
Tms:TMySheet;
begin
if IsAd then
begin
cancel:=true;
exit;
end;
Tms:=TMysheet.Create(Mainfrm);//TsgbrwFm is form?
Tms.PageControl:=Mainfrm.PageControl1;
Tms.WebBrw:=TMyWebBrw.Create(Mainfrm);
tms.InsertControl(Tms.WebBrw);
tms.WebBrw.Align:=alclient;
Tms.WebBrw.ParentWindow:=Tms.Handle;
Tms.WebBrw.SetBounds(0,0,Tms.Width,Tms.Height);
ppDisp:=Tms.WebBrw.DefaultDispatch;
tms.Width:=tms.Width+1;
tms.Caption:=title;
if IsnewOpen then
begin
Mainfrm.PageControl1.ActivePage:=tms;
end;
end;
第2个问题:我不要用PageControl,也不要在注册表中设置,怎么实现?
简单说,点网页的超连接,怎么返回其url?