最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 使用Microsoft Edge WebView2的相關(guān)總結(jié)

 更新時(shí)間:2021年02月25日 08:42:55   作者:ColorsWin  
這篇文章主要介紹了C# 使用Microsoft Edge WebView2的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下

一、C#和JS互相調(diào)用 

1、js調(diào)用C# 

C#代碼如下:

 webView.CoreWebView2.AddHostObjectToScript("webBrowserObj", new ScriptCallbackObject());

 await webView.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("var webBrowserObj= window.chrome.webview.hostObjects.webBrowserObj;");

像網(wǎng)頁(yè)里面注入變量,這樣網(wǎng)頁(yè)調(diào)用時(shí)候不用每次寫window.chrome.webview.hostObjects.webBrowserObj調(diào)用,最主要的是為了兼容之前cef里面Js的寫法。

[ClassInterface(ClassInterfaceType.AutoDual)]
 [ComVisible(true)]
 /// <summary>
 /// 網(wǎng)頁(yè)調(diào)用C#方法
 /// </summary>
 public class ScriptCallbackObject
 {
  public string UserName { get; set; } = "我是C#屬性";

  public void ShowMessage()
  {
   MessageBox.Show("網(wǎng)頁(yè)調(diào)用C#");
  }

  public void ShowMessageArg(string arg)
  {
   MessageBox.Show("【網(wǎng)頁(yè)調(diào)用C#】:" + arg);
  }

  public string GetData(string arg)
  {
   return "【網(wǎng)頁(yè)調(diào)用C#獲取數(shù)據(jù)】;" + 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調(diào)用如下;

function callCsharp2() {
 var data2 = $("#txtArg").attr("value"); //大坑 值不會(huì)時(shí)刻變化   // 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);
};

2、C#調(diào)用JS

private void callJS_Click(object sender, RoutedEventArgs e)
  {
   webView.CoreWebView2.ExecuteScriptAsync("ShowMessage()");   
  }

  private void callJSArg_Click(object sender, RoutedEventArgs e)
  {
   webView.CoreWebView2.ExecuteScriptAsync($"ShowMessageArg('{txtArg.Text}')");
  }

  private async void callJSGetData_Click(object sender, RoutedEventArgs e)
  {
   var jsResult = await webView.CoreWebView2.ExecuteScriptAsync($"GetData('{txtArg.Text}')");
   if (!string.IsNullOrEmpty(jsResult))
   {
    MessageBox.Show(jsResult);
   }   
  }

js里面的代碼

//2、C#調(diào)用網(wǎng)頁(yè)
  var jsVar = '123';
  function Hello() {
   alert('調(diào)用Js' + jsVar);
  };

  function ShowMessage() {
   alert('我是網(wǎng)頁(yè)');
  };
  function ShowMessageArg(arg) {
   alert('【我是網(wǎng)頁(yè)消息框】' + arg);
  };
  function GetData(arg) {
   return '【我是網(wǎng)頁(yè)返回給你】:' + arg;
  };

二、縮放問(wèn)題

webView.CoreWebView2.Settings.IsZoomControlEnabled = false;

只能禁止鼠標(biāo)縮放,不能禁止手勢(shì)縮放。 見(jiàn)問(wèn)題 

另外觸摸到底部門的時(shí)候 有彈跳,暫時(shí)也無(wú)法解決。

以上就是C# 使用Microsoft Edge WebView2的相關(guān)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于C# 使用Microsoft Edge WebView2的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

新干县| 襄垣县| 屯昌县| 普兰县| 蒲江县| 赤城县| 泰兴市| 资兴市| 安宁市| 木里| 石首市| 大渡口区| 瑞安市| 厦门市| 通州市| 莫力| 晋州市| 霸州市| 武邑县| 五家渠市| 石河子市| 秀山| 娄底市| 清原| 永善县| 海南省| 平湖市| 合阳县| 望城县| 新竹县| 永泰县| 潮州市| 马龙县| 华宁县| 呼伦贝尔市| 五原县| 吴川市| 彰化县| 山阳县| 吴堡县| 桐梓县|