时间:2021-05-19
C#代码如下:
webView.CoreWebView2.AddHostObjectToScript("webBrowserObj", new ScriptCallbackObject());await webView.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("var webBrowserObj= window.chrome.webview.hostObjects.webBrowserObj;");像网页里面注入变量,这样网页调用时候不用每次写window.chrome.webview.hostObjects.webBrowserObj调用,最主要的是为了兼容之前cef里面Js的写法。
[ClassInterface(ClassInterfaceType.AutoDual)] [ComVisible(true)] /// <summary> /// 网页调用C#方法 /// </summary> public class ScriptCallbackObject { public string UserName { get; set; } = "我是C#属性"; public void ShowMessage() { MessageBox.Show("网页调用C#"); } public void ShowMessageArg(string arg) { MessageBox.Show("【网页调用C#】:" + arg); } public string GetData(string arg) { return "【网页调用C#获取数据】;" + arg; } [System.Runtime.CompilerServices.IndexerName("Items")] public string this[int index] { get { return m_dictionary[index]; } set { m_dictionary[index] = value; } } private Dictionary<int, string> m_dictionary = new Dictionary<int, string>(); }JS调用如下;
function callCsharp2() { var data2 = $("#txtArg").attr("value"); //大坑 值不会时刻变化 // alert(data2); var data = $("#txtArg").val(); window.chrome.webview.hostObjects.webBrowserObj.ShowMessageArg(data); //window.chrome.webview.postMessage(data); };async function callCsharp3() { var data = $("#txtArg").val(); var result = await webBrowserObj.GetData(data); alert(result);};async function callCsharp4() { const propValue = await webBrowserObj.UserName; console.log(propValue); alert(propValue);};js里面的代码
//2、C#调用网页 var jsVar = '123'; function Hello() { alert('调用Js' + jsVar); }; function ShowMessage() { alert('我是网页'); }; function ShowMessageArg(arg) { alert('【我是网页消息框】' + arg); }; function GetData(arg) { return '【我是网页返回给你】:' + arg; };只能禁止鼠标缩放,不能禁止手势缩放。 见问题
另外触摸到底部门的时候 有弹跳,暂时也无法解决。
以上就是C# 使用Microsoft Edge WebView2的相关总结的详细内容,更多关于C# 使用Microsoft Edge WebView2的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
刚学习c#的朋友要自己手动编译c#代码加深记忆,现在总结下如果手动编译!1、先找到系统的.net环境在一般在C:\Windows\Microsoft.NET\F
.net使用escape和unescape方法:在C#里,使用escape和unescape,添加引用:Microsoft.JScriptstringstrEs
前言:今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结。使用场景:1.)添加权限2.)布局文件3.)数据加载
Asp.Net(C#)使用oleDbConnection连接Excel"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=
C#不是C语言,C#是Microsoft公司主推的,C#是类C的语言,因此与C有许多地方语言法上相似。C#是托管的,只能运行在.net平台上,而且C语言不是。