我想防止使用CEFSharp库和WinForms导航回我的应用程序。我没有找到解决方案,这里只有一些链接:How to disable backspace "go back" navigation?,但对我不起作用。你帮我吗?
-> RequestHandler.cs
class RequestHandler : IRequestHandler
{
public bool OnBeforeBrowse(IWebBrowser browser, IRequest request, bool isRedirect, bool isMainFrame)
{
if ((request.TransitionType & TransitionType.ForwardBack) != 0)
{
return true;
}
return false;
}
public bool OnCertificateError(IWebBrowser browser, CefErrorCode errorCode, string requestUrl)
{
return false;
}
public void OnPluginCrashed(IWebBrowser browser, string pluginPath)
{
}
public CefReturnValue OnBeforeResourceLoad(IWebBrowser browser, IRequest request, bool isMainFrame)
{
return CefReturnValue.Continue;
}
public bool GetAuthCredentials(IWebBrowser browser, bool isProxy, string host, int port, string realm, string scheme,
ref string username, ref string password)
{
return true;
}
public bool OnBeforePluginLoad(IWebBrowser browser, string url, string policyUrl, WebPluginInfo info)
{
return true;
}
public void OnRenderProcessTerminated(IWebBrowser browser, CefTerminationStatus status)
{
}
}
->在Program.cs中
_browser = new ChromiumWebBrowser(url)
{
RequestHandler = new RequestHandler(),
Dock = DockStyle.Fill,
RequestHandler = new RequestHandler()
};
P.S。我在浏览器中启动的应用程序是单页。
http://cefsharp.github.io/api/57.0.0/html/M_CefSharp_IRequestCallback_Cancel.htm试试这个,然后回复我。这将提出要求。😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀