开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (34)
标签 (121)
master
cefsharp/92
cefsharp/91
cefsharp/90
cefsharp/89
cefsharp/88
cefsharp/87
cefsharp/86
cefsharp/85
cefsharp/84
cefsharp/83
cefsharp/81
cefsharp/79
cefsharp/75
cefsharp/77
cefsharp/73
cefsharp/57
cefsharp/71
cefsharp/69
cefsharp/67
v92.0.250-pre
v92.0.251
v91.1.230
v91.1.211
v91.1.210
v91.1.160
v91.1.60-pre
v90.6.70
v90.6.50
v90.5.70-pre
v89.0.170
v89.0.140-pre
v88.2.90
v88.2.40-pre
v87.1.132
v87.1.131-pre
v87.1.130-pre
v86.0.241
v86.0.240-pre
v85.3.130
master
分支 (34)
标签 (121)
master
cefsharp/92
cefsharp/91
cefsharp/90
cefsharp/89
cefsharp/88
cefsharp/87
cefsharp/86
cefsharp/85
cefsharp/84
cefsharp/83
cefsharp/81
cefsharp/79
cefsharp/75
cefsharp/77
cefsharp/73
cefsharp/57
cefsharp/71
cefsharp/69
cefsharp/67
v92.0.250-pre
v92.0.251
v91.1.230
v91.1.211
v91.1.210
v91.1.160
v91.1.60-pre
v90.6.70
v90.6.50
v90.5.70-pre
v89.0.170
v89.0.140-pre
v88.2.90
v88.2.40-pre
v87.1.132
v87.1.131-pre
v87.1.130-pre
v86.0.241
v86.0.240-pre
v85.3.130
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (34)
标签 (121)
master
cefsharp/92
cefsharp/91
cefsharp/90
cefsharp/89
cefsharp/88
cefsharp/87
cefsharp/86
cefsharp/85
cefsharp/84
cefsharp/83
cefsharp/81
cefsharp/79
cefsharp/75
cefsharp/77
cefsharp/73
cefsharp/57
cefsharp/71
cefsharp/69
cefsharp/67
v92.0.250-pre
v92.0.251
v91.1.230
v91.1.211
v91.1.210
v91.1.160
v91.1.60-pre
v90.6.70
v90.6.50
v90.5.70-pre
v89.0.170
v89.0.140-pre
v88.2.90
v88.2.40-pre
v87.1.132
v87.1.131-pre
v87.1.130-pre
v86.0.241
v86.0.240-pre
v85.3.130
RequestEventHandler.cs 4.94 KB
一键复制 编辑 原始数据 按行查看 历史
// Copyright © 2017 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using System;
using CefSharp.Handler;
namespace CefSharp.Example.RequestEventHandler
{
/// <summary>
/// Example class that demos exposing some of the methods of <see cref="RequestHandler"/> as events.
/// Inheriting from <see cref="RequestHandler"/> requres you only override the methods you are interested in.
/// You can of course inherit from the interface <see cref="IRequestHandler"/> and implement all the methods
/// yourself if that's required.
/// Simply check out the interface method the event was named by (e.g <see cref="OnCertificateErrorEvent" /> corresponds to
/// <see cref="IRequestHandler.OnCertificateError" />)
/// inspired by:
/// https://github.com/cefsharp/CefSharp/blob/fa41529853b2527eb0468a507ab6c5bd0768eb59/CefSharp.Example/RequestHandler.cs
/// </summary>
public class RequestEventHandler : RequestHandler
{
public event EventHandler<OnBeforeBrowseEventArgs> OnBeforeBrowseEvent;
public event EventHandler<OnOpenUrlFromTabEventArgs> OnOpenUrlFromTabEvent;
public event EventHandler<OnCertificateErrorEventArgs> OnCertificateErrorEvent;
public event EventHandler<OnPluginCrashedEventArgs> OnPluginCrashedEvent;
public event EventHandler<GetAuthCredentialsEventArgs> GetAuthCredentialsEvent;
public event EventHandler<OnRenderProcessTerminatedEventArgs> OnRenderProcessTerminatedEvent;
public event EventHandler<OnQuotaRequestEventArgs> OnQuotaRequestEvent;
protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
{
var args = new OnBeforeBrowseEventArgs(chromiumWebBrowser, browser, frame, request, userGesture, isRedirect);
OnBeforeBrowseEvent?.Invoke(this, args);
return args.CancelNavigation;
}
protected override bool OnOpenUrlFromTab(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
{
var args = new OnOpenUrlFromTabEventArgs(chromiumWebBrowser, browser, frame, targetUrl, targetDisposition, userGesture);
OnOpenUrlFromTabEvent?.Invoke(this, args);
return args.CancelNavigation;
}
protected override bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
{
var args = new OnCertificateErrorEventArgs(chromiumWebBrowser, browser, errorCode, requestUrl, sslInfo, callback);
OnCertificateErrorEvent?.Invoke(this, args);
EnsureCallbackDisposal(callback);
return args.ContinueAsync;
}
protected override void OnPluginCrashed(IWebBrowser chromiumWebBrowser, IBrowser browser, string pluginPath)
{
var args = new OnPluginCrashedEventArgs(chromiumWebBrowser, browser, pluginPath);
OnPluginCrashedEvent?.Invoke(this, args);
}
protected override bool GetAuthCredentials(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
{
var args = new GetAuthCredentialsEventArgs(chromiumWebBrowser, browser, originUrl, isProxy, host, port, realm, scheme, callback);
GetAuthCredentialsEvent?.Invoke(this, args);
EnsureCallbackDisposal(callback);
return args.ContinueAsync;
}
protected override void OnRenderProcessTerminated(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status)
{
var args = new OnRenderProcessTerminatedEventArgs(chromiumWebBrowser, browser, status);
OnRenderProcessTerminatedEvent?.Invoke(this, args);
}
protected override bool OnQuotaRequest(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
{
var args = new OnQuotaRequestEventArgs(chromiumWebBrowser, browser, originUrl, newSize, callback);
OnQuotaRequestEvent?.Invoke(this, args);
EnsureCallbackDisposal(callback);
return args.ContinueAsync;
}
private static void EnsureCallbackDisposal(IRequestCallback callbackToDispose)
{
if (callbackToDispose != null && !callbackToDispose.IsDisposed)
{
callbackToDispose.Dispose();
}
}
private static void EnsureCallbackDisposal(IAuthCallback callbackToDispose)
{
if (callbackToDispose != null && !callbackToDispose.IsDisposed)
{
callbackToDispose.Dispose();
}
}
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

.NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/github__fork/CefSharp.git
git@gitee.com:github__fork/CefSharp.git
github__fork
CefSharp
CefSharp
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /