using CefSharp;
public ChromiumWebBrowser browser;
NativeAppJsObjBasic NativeAppJsObj;
//窗体部分
private void FrmWebView_Load(object sender, EventArgs e)
{
browser = new ChromiumWebBrowser(URL);
panel1.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
NativeAppJsObj = new NativeAppJsObjBasic();
browser.RegisterJsObject("NativeAppJsObj", NativeAppJsObj, true);
NativeAppJsObj.OnSessionExpired += NativeAppJsObj_OnSessionExpired;
browser.IsBrowserInitializedChanged += Browser_IsBrowserInitializedChanged;
browser.DownloadHandler = new MyDownLoadFile();
}
/// <summary>
/// 响应下载文件兼容
/// </summary>
public class MyDownLoadFile : IDownloadHandler
{
public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
if (!callback.IsDisposed)
{
using (callback)
{
callback.Continue(@"C:\Users\" +
System.Security.Principal.WindowsIdentity.GetCurrent().Name +
@"\Downloads\" +
downloadItem.SuggestedFileName,
showDialog: true);
}
}
}
public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
//downloadItem.IsCancelled = false;
}
public bool OnDownloadUpdated(CefSharp.DownloadItem downloadItem)
{
return false;
}
}