用Web控件打开一个Web页,当点击一个链接时,如何获得该链接点击的OnClick事件并且拦截这个事件。(100分)

  • 主题发起人 主题发起人 wjhn
  • 开始时间 开始时间
W

wjhn

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这个功能,用Web控件打开一个Web页,当点击一个链接时,获得该链接点击的OnClick
事件并且拦截这个事件。

如以下链接:我的程序


当用户点击这个链接时,程序不是真要执行这个链接,而是执行我希望执行的procedure 或
function。
 
注意return false这样连接就不会执行。
function yourfunction(){
......
return false;
}
<a href='www.test.com' onclick="return yourfunction();">sad</a>
 
我也正头痛!
 
onclick 中处理事javascript 或者是vbscript 脚本啊!
好像不能直接调函数哦!
 
在NewWindow2事件里控制
 
在TWebBrowser中有一个事件叫BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool)
在这个事件中做你想做的一切呀:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if URL='' then
...(执行你的程序呀!)
else
Cancel:=True
...
end;
 
这个问题没有人会解答吗?
如有人知道,我出200分先。
 
use TEmbeddedWB.
it has a Event: OnTranslateURL
it can help you :)

-----------------------------------
http://www3.msstudio.net/xuqian
 
这种方式实现不行吗??????
在TWebBrowser中有一个事件叫BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool)
在这个事件中做你想做的一切呀:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if URL='' then
...(执行你的程序呀!)
else
Cancel:=True
...
end;
 
后退
顶部