捕捉浏览器消息事件是为了下拉菜单的点击事件不被浏览器吞掉。如果被吞掉下拉菜单就不会自动缩回
在BrowserInitializedChanged注册事件。
在BrowserTabUserControl里面
browser.IsBrowserInitializedChanged += OnIsBrowserInitializedChanged;
private void OnIsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs args)
{
if (args.IsBrowserInitialized)
{
//Get the underlying browser host wrapper
var browserHost = Browser.GetBrowser().GetHost();
var requestContext = browserHost.RequestContext;
string errorMessage;
// Browser must be initialized before getting/setting preferences
var success = requestContext.SetPreference("enable_do_not_track", true, out errorMessage);
if(!success)
{
this.InvokeOnUiThreadIfRequired(() => MessageBox.Show("Unable to set preference enable_do_not_track errorMessage: " + errorMessage));
}
//Example of disable spellchecking
//success = requestContext.SetPreference("browser.enable_spellchecking", false, out errorMessage);
var preferences = requestContext.GetAllPreferences(true);
var doNotTrack = (bool)preferences["enable_do_not_track"];
//Use this to check t