1、防止网页元素错位:
CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("disable-gpu", "1");
2、屏蔽右键:
实现MenuHandler 接口。
class MenuHandler : CefSharp.IContextMenuHandler
{
public void OnBeforeContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
{
model.Clear();
}
public bool OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
{
return false;
}
public void OnContextMenuDismissed(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
{
}
public bool RunContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
{
// throw new NotImplementedException();
return false;
}
}
/////调用:
chromeBrowser.MenuHandler = new MenuHandler();
3、禁止弹出新窗口,在同一窗体打开。
实现ILifeSpanHandler接口:LifeSpanHandler
class OpenPageSelf : ILifeSpanHandler
{
bool ILifeSpanHandler.DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
return false;
}
void ILifeSpanHandler.OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
void ILifeSpanHandler.OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
{
}
bool ILifeSpanHandler.OnBeforePopup(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser)
{
newBrowser = null;
var ChromiumWebBrowser = (ChromiumWebBrowser) chromiumWebBrowser;
ChromiumWebBrowser.Load(targetUrl);
return true;
}
}
调用方法: chromeBrowser.LifeSpanHandler = new OpenPageSelf();