在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Cefsharp 的使用

汽車(chē)電子技術(shù) ? 來(lái)源:程序猿知秋 ? 作者:程序猿知秋 ? 2023-02-28 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

圖片

安裝

Cefsharp簡(jiǎn)介

  • CEF , 全稱(chēng)Chromium Embedded Framework ,基于谷歌 Chromium項(xiàng)目的開(kāi)源Web Browser控件,它的主要用途是嵌入了第三方應(yīng)用以實(shí)現(xiàn)瀏覽器相關(guān)的功能。例如國(guó)內(nèi)的360安全瀏覽器的兼容模式即IE的內(nèi)核,極速模式即Chromium內(nèi)核;最近微軟新推出的Microsoft Edge也是基于Chromium開(kāi)源項(xiàng)目實(shí)現(xiàn)的
  • CefSharp是Cef的C#版本,讓Chromium瀏覽器也可嵌入WinForms 中

安裝步驟

  • 第一步: 右鍵項(xiàng)目,點(diǎn)擊 管理NuGet程序包 , 輸入Cefsharp 關(guān)鍵字搜索, 選擇 **CefSharp.WinForms **進(jìn)行安裝

圖片編輯

安裝完后,以packages.config中可以看到如下信息

圖片編輯

  • ** 第二步: 修改配置管理器,將平臺(tái)修改為X86或X64,Cef有32和64位之分**

圖片編輯

活動(dòng)方案解決平臺(tái) 下拉,點(diǎn)擊新建

圖片編輯

**** **選擇 X86 ** ,點(diǎn)擊確定,接著關(guān)閉即可


圖片編輯

  • **** 第三步: 編寫(xiě)代碼,初始化瀏覽器****
using CefSharp;
using CefSharp.WinForms;
using System.Windows.Forms;


namespace 我的瀏覽器
{
    public partial class Form1 : Form
    {
        // 瀏覽器對(duì)象
        public ChromiumWebBrowser chromeBrowser;
        public Form1()
{
            InitializeComponent();

        }


        public void InitCef()
{
            //參數(shù)設(shè)置
            CefSettings settings = new CefSettings();
          //  settings.Locale = "zh-CN";
            // settings.CefCommandLineArgs.Add("disable-gpu", "1");//去掉gpu,否則chrome顯示有問(wèn)題
            Cef.Initialize(settings);
            //創(chuàng)建實(shí)例
            chromeBrowser = new ChromiumWebBrowser("https://www.baidu.com");
            // 將瀏覽器放入容器中
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill;
        }


        private void Form1_Load(object sender, System.EventArgs e)
{
            // 初始化瀏覽器
            InitCef();
        }
    }
}

最終啟動(dòng)程序,成功訪(fǎng)問(wèn)百度

圖片編輯

常見(jiàn)疑問(wèn)

右鍵菜單如何禁用?

  • 設(shè)置ChromiumWebBrowser的 MenuHandler屬性即可
  • chromeBrowser.MenuHandler = new MenuHandler();  //禁用右鍵菜單
    點(diǎn)擊并拖拽以移動(dòng)
    

如何添加頁(yè)面加載完成回調(diào)事件?

  • 設(shè)置ChromiumWebBrowser的 FrameLoadEnd 屬性
  • public void InitCef()
    {
      //參數(shù)設(shè)置
      CefSettings settings = new CefSettings();
      //  settings.Locale = "zh-CN";
      // settings.CefCommandLineArgs.Add("disable-gpu", "1");//去掉gpu,否則chrome顯示有問(wèn)題
      Cef.Initialize(settings);
      //創(chuàng)建實(shí)例
      chromeBrowser = new ChromiumWebBrowser("https://www.baidu.com");
      // 將瀏覽器放入容器中
      this.Controls.Add(chromeBrowser);
      chromeBrowser.Dock = DockStyle.Fill;
      //頁(yè)面加載完成事件
      chromeBrowser.FrameLoadEnd += webview_FrameLoadEnd;
    }
    
    
    private void webview_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
    {
      // 代碼
    }
    

瀏覽器中的 js如何回調(diào)到 winform窗體中?

  • 初始化chromeBrowser對(duì)象時(shí),需要事先注冊(cè)好回調(diào)方法
  • public void InitCef()
    {
      //參數(shù)設(shè)置
      CefSettings settings = new CefSettings();
      Cef.Initialize(settings);
      //創(chuàng)建實(shí)例
      chromeBrowser = new ChromiumWebBrowser("https://www.baidu.com");
    
      // 注冊(cè)瀏覽器方法
      chromeBrowser.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
      CefSharpSettings.WcfEnabled = true;
      chromeBrowser.JavascriptObjectRepository.Register("cefCustomObject", new CefCustomObject(chromeBrowser, this), isAsync: false, options: BindingOptions.DefaultBinder);
    
      // 將瀏覽器放入容器中
      this.Controls.Add(chromeBrowser);
      chromeBrowser.Dock = DockStyle.Fill;
    }
    

事先建立一個(gè)類(lèi),專(zhuān)門(mén)用來(lái)放需要回調(diào)的方法

internal class CefCustomObject
{


  // 瀏覽器對(duì)象
  private static ChromiumWebBrowser _instanceBrowser = null;
  // 主窗體
  private static Form1 _instanceMainForm = null;




  public CefCustomObject()
  {

  }


  public CefCustomObject(ChromiumWebBrowser originalBrowser, FrmMain mainForm)
  {
    _instanceBrowser = originalBrowser;
    _instanceMainForm = mainForm;
  }




  public void opencmd()
  {
    MessageBox.Show("更多**好看的內(nèi)容**和**好玩的案例**請(qǐng)關(guān)注**我的微信公眾號(hào): 程序猿知秋");
    ProcessStartInfo start = new ProcessStartInfo("cmd.exe", "/c pause");
    Process.Start(start);
  }

}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    36172
  • CEF
    CEF
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    18638
  • 開(kāi)源項(xiàng)目

    關(guān)注

    0

    文章

    38

    瀏覽量

    7439
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦
    主站蜘蛛池模板: 一级色视频 | 免费看黄色一级毛片 | 国产伦子一区二区三区四区 | 网色| 精品国产自在现线看久久 | 亚洲乱码卡一卡二卡三永久 | 午夜免费理论片在线看 | 欧洲另类一二三四区 | 美国一级做a一级爱视频 | 六月丁香色婷婷 | 久久国产免费福利永久 | 日本人xxxxxxxxxⅹ68 | 乱j伦小说在线阅读 | 免费高清特级毛片 | 69精品在线观看 | 色视频网站色视频播放 | 波多野结衣在线观看一区 | 欧美成人午夜精品免费福利 | 特级片毛片 | 欧美性xx18一19| 日韩毛片在线影视 | 天天色色网 | 成人国内精品久久久久影院 | 国语自产自拍秒拍在线视频 | 噜噜噜噜私人影院 | 亚洲国产成人精彩精品 | 国产精品久久在线 | videsgratis欧美另类 | 51国产午夜精品免费视频 | 日本三区四区免费高清不卡 | 免费看欧美一级特黄a大片一 | 国产床戏无遮掩视频播放 | 中文字幕一区二区三区不卡 | 狠狠去 | 91网站在线播放 | 国产巨大bbbb天美 | 午夜香港三级在线观看网 | 国产三级香港三级人妇 | 美女被强插 | 国产在线观看www鲁啊鲁免费 | 色婷婷在线视频观看 |