mirror of
http://git.xinwangdao.com/cnnc-embedded-parts-detect/detect.git
synced 2025-06-24 21:44:12 +08:00
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
![]() |
using Xilium.CefGlue;
|
|||
|
using Xilium.CefGlue.Common.Handlers;
|
|||
|
|
|||
|
namespace WebViewControl {
|
|||
|
|
|||
|
partial class WebView {
|
|||
|
|
|||
|
private class InternalJsDialogHandler : JSDialogHandler {
|
|||
|
|
|||
|
private WebView OwnerWebView { get; }
|
|||
|
|
|||
|
public InternalJsDialogHandler(WebView webView) {
|
|||
|
OwnerWebView = webView;
|
|||
|
}
|
|||
|
|
|||
|
protected override bool OnJSDialog(CefBrowser browser, string originUrl, CefJSDialogType dialogType, string message_text, string default_prompt_text, CefJSDialogCallback callback, out bool suppress_message) {
|
|||
|
suppress_message = false;
|
|||
|
|
|||
|
var javacriptDialogShown = OwnerWebView.JavacriptDialogShown;
|
|||
|
if (javacriptDialogShown == null) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
void Close() {
|
|||
|
callback.Continue(true, "");
|
|||
|
callback.Dispose();
|
|||
|
}
|
|||
|
|
|||
|
javacriptDialogShown.Invoke(message_text, Close);
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
protected override bool OnBeforeUnloadDialog(CefBrowser browser, string messageText, bool isReload, CefJSDialogCallback callback) {
|
|||
|
return false; // use default
|
|||
|
}
|
|||
|
|
|||
|
protected override void OnResetDialogState(CefBrowser browser) { }
|
|||
|
|
|||
|
protected override void OnDialogClosed(CefBrowser browser) { }
|
|||
|
}
|
|||
|
}
|
|||
|
}
|