当前位置: 棋牌电玩游戏平台 > 独家报道 > 正文

CefSharp 支持mp4

时间:2019-08-06 02:00来源:独家报道
效果图: C# Winform 嵌入谷歌(Google)浏览器 Chrome 与JS交互讲明, 率先要搭建情状 新建winform项目GoogleChromeTest 管理NuGet程序包,搜索cef,安装CefSharp.WinForms 此间接选举的是X86运维条件,所以

效果图:

C# Winform 嵌入谷歌(Google)浏览器 Chrome 与JS交互讲明,

率先要搭建情状

新建winform项目GoogleChromeTest

管理NuGet程序包,搜索cef,安装CefSharp.WinForms

图片 1

此间接选举的是X86运维条件,所以要增加X86的引用,(假使急需X64开拓,能够挑选X64,后边的援引也要改成X64)

图片 2

图片 3

图片 4

累加援用

在等级次序文件夹下有个packages文件

图片 5

加上里头的

packagesCefSharp.WinForms.57.0.0CefSharpx86CefSharp.WinForms.dll

packagesCefSharp.Common.57.0.0CefSharpx86CefSharp.BrowserSubprocess.Core.dll

packagesCefSharp.Common.57.0.0CefSharpx86CefSharp.Core.dll

packagesCefSharp.Common.57.0.0CefSharpx86CefSharp.dll

图片 6

此刻生成一下档案的次序,然后再一次起动VS

那会儿大家开首写代码了

增添五个button,多个textBox

图片 7

主分界面的代码如下

using CefSharp.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace GoogleChromeTest
{
    public partial class Form1 : Form
    {
        /// 
        /// Chromium浏览器实例
        /// 
        ChromiumWebBrowser WebBrowser;

        public Form1()
        {
            InitializeComponent();
            ///设置
            var setting = new CefSharp.CefSettings();
            setting.Locale = "zh-CN";
            setting.CachePath = "CHBrowser/BrowserCache";//缓存路径
            setting.AcceptLanguageList = "zh-CN,zh;q=0.8";//浏览器引擎的语言
            setting.LocalesDirPath = "CHBrowser/localeDir";//日志
            setting.LogFile = "CHBrowser/LogData";//日志文件
            setting.PersistSessionCookies = true;//
            setting.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";//浏览器内核
            setting.UserDataPath = "CHBrowser/userData";//个人数据
            ///初始化
            CefSharp.Cef.Initialize(setting);
            WebBrowser = new ChromiumWebBrowser("https://www.baidu.com"); //初始页面
            WebBrowser.RegisterJsObject("jsObj", new JsEvent(), new CefSharp.BindingOptions() { CamelCaseJavascriptNames = false }); //交互数据                                           
            WebBrowser.Dock = DockStyle.Fill;//铺满                                                                  
            WebBrowser.Dock = DockStyle.Fill;//设置停靠方式
            this.Controls.Add(WebBrowser);//加入窗体
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            WebBrowser.Load(textBox1.Text);//浏览网址
        }

        private async void button2_Click(object sender, EventArgs e)
        {
            await WebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("test_val="   new Random().Next().ToString("F")); //设置页面上js的test_val变量为随机数
            await WebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("test()");//运行页面上js的test方法

        }

        private async void button3_Click(object sender, EventArgs e)
        {
            await WebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("testArg('123','我是NET' )");//运行页面上js的testArg带参数的方法
        }
    }
    public class JsEvent
    {
        public string MessageText { get; set;}

        public void ShowTest()
        {
            MessageBox.Show("this in C#.nr"   MessageText);
        }
        public void ShowTestArg(string ss)
        {
            MessageBox.Show("收到JS带参数调用nr"   ss);
        }
    }
}

form的构造函数里安装浏览器的中坚设置,然后铺满窗口

刷新开关访问输入框里的网站

js交互按键运营页面上的js程序

jsEvent为页面上JS交互的接口

接下去大家写个测量检验的asp页面

新建二个空白ASP项目谷歌TestWeb

图片 8

新建叁个html页面HtmlPage1,代码如下

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<meta charset="utf-8">




<script src="http://www.ymhxgs.com/uploads/allimg/190806/0200301346-8.jpg"></script>
<script>
    var test_val;
    function test() {
        alert("收到Net程序事件 "   test_val);
    }
    function testArg(d1,d2) {
        alert("收到Net程序事件1 "   d1);
        alert("收到Net程序事件2 "   d2);
    }

    $(function () {
        $('button:eq(0)').on("click", BtnClick);
        $('button:eq(1)').on("click", BtnClickArgs);
    })
    function BtnClick() {
        if (typeof jsObj == "undefined") {
            alert("jsObj参数未初始化")
            return;
        }
        jsObj.MessageText = "我是js";
        jsObj.ShowTest();
    }
    function BtnClickArgs() {
        if (typeof jsObj == "undefined") {
            alert("jsObj参数未初始化")
            return;
        }
        jsObj.ShowTestArg($('textarea:eq(0)').val());
    }
</script>

<button style="margin-top:100px">发送给Net程序</button>
<button>发送给Net程序带参数</button>
<textarea></textarea>

转换项目,此时期码已经写完

接下去正是测验

在HTML页面里右键,点击 在浏览器中查阅,VS会张开浏览器,实行html页面

图片 9

复制网站 笔者那边是 你们的应有会分化

运作在此之前的winform程序,把网站复制到text博克斯上,然后点击刷新,稍等一下就能够议及展览示页面

图片 10

点击 JS交互 (从winform调用js函数)

图片 11

点击 js交互带参数 (从winform调用js带有参数的函数)

图片 12

点击 发送给net程序

图片 13

点击 发送给Net程序带参数 (旁边输入参数)

图片 14

Winform 嵌入谷歌(Google)浏览器 Chrome 与JS交互讲明, 首先要搭建情状 新建winform项目谷歌ChromeTest 管理NuGet程序包,搜索cef,安装CefSharp.WinForms 这里选...

CefSharp配置

图片 15

1.改动项目属性 将指标平台改成x86或x64

 

图片 16

下载链接:成立wpf项目援引 如下:链接: 密码:u7y2

2.改换总体项目解决方案属性温台为x86或x64

 

图片 17

第一步:创设项目援引CefSharp

3.开垦nuget包管理器程序包管理器调整台

图片 18

运用Get-Package -ListAvailable cef  命令检查CefSharp最新版本,使用Install-Package CefSharp.WinForms -Version 57.0.0限令安装只怕间接实行Install-Package CefSharp.WinForms安装新型版本

编辑:独家报道 本文来源:CefSharp 支持mp4

关键词: .NET技术 WPF 学习