我在CefSharp.Wpf.ChromiumWebBrowser
在Internet Explorer上:
单击mailto-link "mailto:?subject=....&body=...."
Internet Explorer显示弹出询问
允许网站为" mailto:?subject = ....& body = ...."
打开一个程序(Outlook)
在ChromiumWebBrowser上: 该页面使用链接导航离开页面,并且不显示弹出窗口。
我必须提供哪些CefSharp才能让弹出窗口发生?
编辑:
在Chrome上:电子邮件在Outlook中打开
答案 0 :(得分:2)
感谢James Thorpe's评论,我使用CefSharp.Example/RequestHandler.cs作为RequestHandler的基础 - 更改
bool IRequestHandler.OnBeforeBrowse (IWebBrowser browserControl, IBrowser browser,
IFrame frame, IRequest request, bool isRedirect)
{
if (request.Url.StartsWith ("mailto:"))
{
// use system defined handler for mailto:/ ...
System.Diagnostics.Process.Start (request.Url);
// skip browse
return true;
}
return false;
}
bool IRequestHandler.OnProtocolExecution (IWebBrowser browserControl, IBrowser browser,
string url) => false;
在我的情况下,如果mailto:收到,我想阻止浏览。 我确实使用自定义协议处理程序,所以我允许它们 - 现在。
我设置了这个RequestHandler(ChromiumWebBrowser-Instance).RequestHandler的实例,现在它可以工作了。
电子邮件打开,网站停留在原地。没有副作用 - 但是。