【问题标题】:Intercept hyperlink click with Delphi TWebBrowser使用 Delphi TWebBrowser 拦截超链接点击
【发布时间】:2013-04-27 03:01:34
【问题描述】:

使用 Delphi 7,使用加载了 HTML 文件的 TWebBrowser 组件...如何拦截超链接点击,以便我可以决定是否允许 TWebBrowser 获取链接以外的其他操作?

我尝试了以下方法,但单击超链接时从未触发该事件:

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  Cancel := True;
  ShowMessage(URL);
  WebBrowser1.Stop;
end;

【问题讨论】:

    标签: delphi


    【解决方案1】:

    我们所做的代码几乎与您在上面显示的完全相同。

    您是否在组件中连接了您的事件处理程序?

    我们不做 .Stop。我不确定那是做什么的,或者你为什么需要这样做。 Cancel := TRUE 应该足以满足我们在这里所做的工作。

    【讨论】:

    • 是的,我连接了 BeforeNavigate2 的事件处理程序。
    • 我找到了罪魁祸首。我正在使用的皮肤库(AlphaSkins)正在阻止事件触发。如果我禁用皮肤管理器,则会触发 BeforeNavigate2 事件。当我启用皮肤管理器时,该事件永远不会触发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2015-04-20
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多