C# 如何防止使用CEFSharp库返回导航?
我想阻止使用CEFSharp库和WinForms导航回我的应用程序。我没有找到解决方案,只有以下链接: 但这对我不起作用。 你能帮我吗 -->RequestHandler.csC# 如何防止使用CEFSharp库返回导航?,c#,cefsharp,C#,Cefsharp,我想阻止使用CEFSharp库和WinForms导航回我的应用程序。我没有找到解决方案,只有以下链接: 但这对我不起作用。 你能帮我吗 -->RequestHandler.cs class RequestHandler : IRequestHandler { public bool OnBeforeBrowse(IWebBrowser browser, IRequest request, bool isRedirect, bool isMainFrame) { i
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()
};
另外,我在浏览器中启动的应用程序是单页的。您使用的是什么版本?您尝试过的代码是什么样子的?版本是41.0.1,我正在尝试使用链接中建议的RequestHandler类的OnBeforeBrowse方法,但它仅在应用程序启动时被调用一次,而在应用程序中使用Backspace时未被调用。在使用google导航到网站时,使用Backspace对我有效,然后按Backspace。如果它对您不起作用,那么您可以提供一个
jsfiddle
来重现问题。实际上,如果您可以分支minimal-example
来演示您的问题,那会更好。我用实现替换OnBeforeBrowse,但后退按钮仍然有效。我是否应该添加browser.NavStateChanged+=OnBrowserNavStateChanged;或者它不是强制性的?