CefSharp开发
CefSharp是用chromium内核开发的.net版本浏览器工具。目前只支持X86模式。所以在调试的时候要把平台改为X86
CefSharp开发指引:https://ourcodeworld.com/articles/read/173/how-to-use-cefsharp-chromium-embedded-framework-csharp-in-a-winforms-application
1、C#调用js
private void btnAlert_Click(object sender, EventArgs e)
{
this.browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("alert('这是c#调用的js,给文本框赋值!')");
//txtAccount
this.browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("document.getElementById('txtAccount').value='在C#里面给页面文本框进行赋值'");
}
2、js调用C#
首要要创建被调用的C#对象和方法,注意方法名要小写,大写的时候,会调用失败!
public class CefAsyncJS
{
private string LoginAccount = ConfigurationManager.AppSettings["LoginAccount"];
public string getLoginAccount()
{
return LoginAccount;
}
public void setLoginAccount(string data)
{
LoginAccount = data ?? "";
}
}
然后注册这个类
//注册C#对象,用来在js里面调用
//注意:RegisterAsyncJsObject的name必须是小写字母开头
//注意:CefAsyncJS类被JS调用的函数也必须是小写字母开头
CefSharpSettings.LegacyJavascriptBindingEnabled = true;
chromeBrowser.RegisterJsObject("cefAsyncJS", new CefAsyncJS(), BindingOptions.DefaultBinder);
这样,就能直接在js页面,调用C#方法
function SetLoginAccount(data) {
cefAsyncJS.setLoginAccount(data);
}
function GetLoginAccount() {
return cefAsyncJS.getLoginAccount();
}
CefSharp开发的更多相关文章
- cefSharp 开发随笔
最近用cefSharp开发一点简单的东西.记录一点随笔,不定时更新. 1.用nuget安装完之后,架构要选择x86或者x64,否则编译会报错(截止到Chrome 55版本) 2.向Chrome注册C# ...
- 基于CefSharp开发浏览器(八)浏览器收藏夹栏
一.前言 上一篇文章 基于CefSharp开发(七)浏览器收藏夹菜单 简单实现了部分收藏夹功能 如(添加文件夹.添加收藏.删除.右键菜单部分功能) 后续代码中对MTreeViewItem进行了扩展,增 ...
- cefsharp开发实例1
做了几年.NET开发,基本都是搞WEB居多,以前也搞过一个winform项目,虽然很把界面拼接出来了,但是感觉有点痛苦,改动的时候又要改动一大堆代码.最近又要搞个桌面软件,试着搜索了下html做界面方 ...
- 用Html5/CSS3做Winform,一步一步教你搭建CefSharp开发环境(附JavaScript异步调用C#例子,及全部源代码)上
本文为鸡毛巾原创,原文地址:http://www.cnblogs.com/jimaojin/p/7077131.html,转载请注明 CefSharp说白了就是Chromium浏览器的嵌入式核心,我们 ...
- 使用CefSharp开发一个12306“安心刷票弹窗通知”工具
有需求就要改进 最近两年没有在春节回家过年了,主要是票太难买,虽然之前写了一个12306“无声购票弹窗”工具,解决了抢票问题,但是全家老小一起回去还是很累,干脆就在北京过年了.这两天突然有一个朋友问我 ...
- 使用WinFrom + CefSharp 开发客户端程序
今天使用CefSharp,加上本地资源文件嵌入了HTML.CSS.JS文件,做为Winform的UI:效果不错,漂亮可控,简简单单,半天时间搞定从开发到上线: 下面记录下相关的备忘: (窗口的效果) ...
- 基于CefSharp开发(五)浏览器菜单样式
一.菜单分析 上图为Edge浏览器现有的菜单内容,菜单中即有子菜单也有组合菜单. 本章节将开发浏览器菜单样式,菜单部分功能将后期进行处理. 二.创建菜单用户控件 新建用户控件命名为WebMenuUc, ...
- 基于CefSharp开发(二)自定义浏览器窗体
上一篇 https://www.cnblogs.com/mchao/p/13914726.html 简单了解了CefSharp引用配置但页面光秃秃的,这一篇着手开发简单浏览器窗体 一.Edge浏览器窗 ...
- c#使用CefSharp开发winform——环境搭建
因为nuget在线下载有时候很慢,所以下载nuget包,进行本地安装 登陆nuget官网https://www.nuget.org/下载相关资源 选择对应版本进行下载,同时需要下载相关依赖的包 最 ...
随机推荐
- 小白详细解析C#反射特性实例
套用MSDN上对于反射的定义:反射提供了封装程序集.模块和类型的对象(Type 类型).可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性.如果代 ...
- Linux工具安装配置
1.修改主机名/添加别名访问 修改/etc/sysconfig/network中的hostnameNETWORKING=yesHOSTNAME=dlserver01; 修改/etc/hosts文件 1 ...
- java中+=与+的区别
public class QQ { public static void main(String[] args) throws ParseException { byte val1 = 5; doub ...
- Java基础28-继承
/* 继承的概述: 1.提高了代码复用性,简化了代码 2.让类与类之间产生了继承关系,才有了后面的多态特性的存在 注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须要类与类之间存在继承关 ...
- 解决C#中dynamic类型作为泛型参数的反射问题
C#中dynamic类型作为泛型参数传递过去后,反射出来的对象类型是object,我用老外的这篇博文中的代码跑起来,得出的结果是:Flying using a Object map (a map),将 ...
- javaagent笔记及一个基于javassit的应用监控程序demo
javaagent基本用法 定义入口premain public static void premain(String agentArgs, Instrumentation inst) { Syste ...
- jQuery validate 设置失去焦点就校验和失去焦点就表单校验是否通过
js部分 html部分 自定义样式: /*自定义validate覆盖掉了 validate 里面默认的显示样式*/ label.error{ background:url(${pageContext. ...
- python 冒泡和快排,不多说
#-*-coding:utf8-*- import random a=[] b=[] def init_array(): for i in range(10000): v = random.randi ...
- render函数的使用
render函数的几种使用方法最近使用element-ui的tree组件时,需要在组件树的右边自定义一些图标,就想到了用render函数去渲染. <el-tree class="p-t ...
- HDU 5700——区间交——————【线段树+枚举】
区间交 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...