我的应用程序显示一个从网络加载的小横幅TWebBrowser
控制。该横幅实际上是一个包含图像的 HTML 页面;当用户单击图像时,他们将进入我们当前正在进行的促销活动。
这里的坏处是,当单击 TWebBrowser 中的链接时,活动页面会在 Internet Explorer 中打开,而不是在默认浏览器中打开。我知道发生这种情况是因为TWebBrowser
是一个基于IE的控件,但是有没有办法在用户选择的浏览器中打开链接?
谢谢。
In the OnBeforeNavigate2
事件,检查请求的 URL,如果它是您想要启动的 URL,则Stop()
当前导航和通话ShellExecute()
在用户的默认外部浏览器中启动 URL。
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; pDisp: IDispatch; var URL: Variant; var Flags: Variant; var TargetFrameName: Variant; var PostData: Variant; var Headers: Variant; var Cancel: WordBool);
begin
if (URL should be launched) then
begin
Cancel := True;
WebBrowser1.Stop;
ShellExecute(0, nil, PChar(String(Url)), nil, nil, SW_SHOWNORMAL);
end;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)