CEF内核浏览器安装、解决过滤图片、链接弹窗问题

本文介绍如何在CefSharp中实现图片过滤及处理点击链接时弹出新窗口的功能。通过集成IRequestHandler接口并重写OnBeforeResourceLoad方法来过滤图片资源加载,同时解决了不同版本间的兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、工具-NuGget-管理解决方案在这里插入图片描述
2、在浏览中搜索cefsharp.winforms,选择第一个,并选择右下角的版本(我选择了47版本)在这里插入图片描述
3、修改项目的平台目标为x86 解决方案-右键属性-选择配置属性-配置管理器-程序主项目选择x86在这里插入图片描述
4、接下来可以开始写代码了,不详细写了,每个人要实现的功能不一样在这里插入图片描述
5、这里涉及2个问题,一个是过滤图片,另一个是点击链接弹出窗口
5.1、解决过滤图片,需要继承IRequestHandler接口,并重写OnBeforeResourceLoad(这种方法在47以上版本无法使用)

public partial class requesthandler : IRequestHandler
	    {
	        public bool GetAuthCredentials(IWebBrowser browserControl, IBrowser browser, IFrame frame, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
	        {
	            callback.Dispose();
	            return false;
	        }
	
	        public bool OnBeforeBrowse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isRedirect)
	        {
	            return false;
	        }
	        /// <summary>
	        /// 过滤图片
	        /// </summary>
	        /// <returns></returns>
	        public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
	        {
	            if (request.ResourceType == ResourceType.Image)//过滤图片
	                return CefReturnValue.Cancel;
	            return CefReturnValue.Continue;
	        }
	
	        public bool OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
	        {
	            if (!callback.IsDisposed)
	            {
	                using (callback)
	                {
	                    //To allow certificate
	                    //callback.Continue(true);
	                    //return true;
	                }
	            }
	
	            return false;
	        }
	
	        public bool OnOpenUrlFromTab(IWebBrowser browserControl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值