Xilium.CefGlue右键菜单定制复制、前进、返回、调试工具等功能

代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace Xilium.CefGlue.Demo.Browser
{
    internal sealed class WebContextMenuHandler : CefContextMenuHandler
    {
        private readonly WebBrowser _core;
        public WebContextMenuHandler(WebBrowser core)
        {
            _core = core;
        }
        protected override void OnBeforeContextMenu(CefBrowser browser, CefFrame frame, CefContextMenuParams state, CefMenuModel model)
        {
            if (model.Count > 0)
            {
                model.Clear();
            }
            model.AddItem(100, "复制");
            model.AddSeparator();
            model.AddItem(200,"返回");
            model.AddItem(300, "前进");
            model.AddItem(350, "刷新");
            model.AddSeparator();
            model.AddItem(400, "调试工具");

            if (state.SelectionText != null)
            {
                model.SetEnabled(100, true);
            }
            else
            {
                model.SetEnabled(100, false);
            }
            if (browser.CanGoBack)
            {
                model.SetEnabled(200, true);
            }
            else
            {
                model.SetEnabled(200, false);
            }
            if (browser.CanGoForward)
            {
                model.SetEnabled(300, true);
            }
            else
            {
                model.SetEnabled(300, false);
            }
        }
        protected override bool OnContextMenuCommand(CefBrowser browser, CefFrame frame, CefContextMenuParams state, int commandId, CefEventFlags eventFlags)
        {
            switch (commandId)
            {
                case 100:
                    Clipboard.SetText(state.SelectionText);
                    return true;
                case 200:
                    browser.GoBack();
                    return true;
                case 300:
                    browser.GoForward();
                    return true;
                case 350:
                    browser.ReloadIgnoreCache();
                    return true;
                case 400:
                    //browser;
                    var host = browser.GetHost();
                    var wi = CefWindowInfo.Create();
                    wi.SetAsPopup(IntPtr.Zero, "DevTools");
                    host.ShowDevTools(wi, new DevToolsWebClient(), new CefBrowserSettings(), new CefPoint(0, 0));
                    return true;
                default:  // Allow default handling, if any.
                    return false;
            }
        }
        private class DevToolsWebClient : CefClient
        {
        }
    }
}

 

### 回答1: xilium.cefglue是一个开源的跨平台的.NET集成Chromium浏览器的解决方案。它基于CefGlue项目,并提供了一个C#包装器,使开发者能够在.NET应用程序中使用Chromium浏览器的功能xilium.cefglue提供了一个高性能、可扩展的浏览器引擎,使开发者能够在自己的应用程序中嵌入一个完整的浏览器。它支持HTML5、CSS3和JavaScript,使开发者能够创建具有现代Web功能的应用程序。开发者可以通过使用xilium.cefglue,将浏览器功能无缝地集成到他们的应用程序中,实现Web浏览、数据交互和多媒体播放等功能xilium.cefglue提供了丰富的功能和API,开发者可以使用它来控制浏览器的行为,如加载网页、处理鼠标和键盘事件、获取网页内容等。它还提供了与JavaScript交互的能力,使开发者能够在.NET应用程序和浏览器之间传递数据和调用JavaScript函数。 xilium.cefglue还支持在不同平台上使用,包括Windows、Linux和MacOS。这意味着开发者可以使用相同的代码基础,在不同的操作系统上构建和部署他们的应用程序。 总之,xilium.cefglue是一个强大的.NET集成Chromium浏览器的解决方案,为开发者提供了丰富的功能和API,使他们能够轻松地将现代Web浏览器集成到他们的应用程序中。无论是开发桌面应用程序还是Web应用程序,xilium.cefglue都是一个不错的选择。 ### 回答2: xilium.cefglue是一个开源的.NET封装库,用于将CEF(Chromium Embedded Framework)集成到.NET应用程序中。CEF是一个使用Chromium作为核心的开源项目,它提供了一个功能强大的浏览器引擎,可以用于构建跨平台的桌面应用程序。 通过使用xilium.cefglue,开发人员可以利用CEF的强大功能和性能优势来开发.NET桌面应用程序。xilium.cefglue提供了一组易于使用的接口和类,使开发人员能够轻松地在.NET应用程序中嵌入和控制浏览器窗口。 xilium.cefglue支持多种功能,包括加载和显示网页、执行JavaScript脚本、处理用户输入事件、访问浏览器的DOM结构等。开发人员可以根据自己的需求,使用xilium.cefglue提供的接口和事件来实现自定义的浏览器行为。 另外,xilium.cefglue还提供了一些扩展的功能,例如支持拦截和修改浏览器请求、处理弹出窗口和对话框、管理Cookie等。这些功能使得开发人员能够更加灵活地控制浏览器的行为,以实现更好的用户体验。 总的来说,xilium.cefglue是一个很有用的.NET库,它为开发人员提供了在.NET应用程序中嵌入和控制浏览器窗口的能力,使他们能够构建出功能强大、功能丰富的桌面应用程序。 ### 回答3: xilium.cefglue 是一个用于开发基于 Chromium Embedded Framework (CEF) 的.NET 程序的开源项目。CEF 是一个强大的开源项目,它提供了使用 Chromium 浏览器内核渲染网页的能力,并可以作为嵌入式浏览器在应用程序中使用。 xilium.cefglue 项目旨在使开发者能够使用 CEF 在 .NET 平台上创建强大的浏览器应用程序。它提供了.NET 的绑定,使开发者可以使用 CEF 的各种功能和特性。借助 xilium.cefglue,开发者能够创建具有 WebView 功能的应用程序,在应用中展示网页内容、执行 JavaScript 代码以及与 web 页面进行交互。 xilium.cefglue 提供了一个友好简洁的 API,使开发者能够方便地使用 CEF 的能力。它支持各种平台,包括Windows、Linux 和 macOS。开发者可以使用 C# 或其他 .NET 支持的语言来编写应用程序,利用 xilium.cefglue 进行页面渲染和交互。 xilium.cefglue 还提供了一些附加功能,例如嵌入式模式和单进程模式。开发者可以根据自己的需要选择不同的模式,以便更好地控制和管理应用程序的行为。 总之,xilium.cefglue 是一个优秀的开源项目,为开发者提供了在 .NET 平台上使用 CEF 创建浏览器应用程序的能力。它简化了与 CEF 的集成,并为开发者提供了丰富的功能和灵活性。无论是需要创建一个嵌入式浏览器应用还是进行网页渲染和交互,xilium.cefglue 都是一个值得考虑的选择。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值