中简单的介绍了下如何使⽤WebView2控件,本⽂这⾥介绍下它的常⽤操作:页⾯跳转:
页⾯跳转可以通过webview的接⼝来实现:
webView.Source = new Uri(\"http://www.baidu.com\"); webView.NavigateToString(\"
这两个⽅法本⾝只是⼀个封装,具体的实现在类型为CoreWebView2的webview.CoreView2属性⾥⾯,基本⽰例如下: if (webView.CoreWebView2 == null) {
await webView.EnsureCoreWebView2Async(); }
webView.CoreWebView2.Navigate(\"https://www.cnblogs.com/tianfang/\");
要注意的是前⾯的EnsureCoreWebView2Async函数,默认情况下,CoreView2是没有初始化的。 其它操作
其它常⽤的操作在WebView2控件中已经做了⽐较好的封装,这⾥就不多介绍了。
页⾯跳转事件
WebView2常⽤的页⾯跳转事件有:
NavigationStartingSourceChangedContentLoadingHistoryChanged
NavigationCompleted页⾯事件触发流程如下:
更多事件可以参考API⽂档: 调试:
WebView2默认是集成了的,默认调出的⽅式也和chrome是⼀样的:
快捷键F12.
快捷键Ctrl+Shift+I.右键菜单中的\"检查\"
这给我们调试提供了⾮常⼤的⽅便。
执⾏脚本:
执⾏脚本可以使⽤ExecuteScriptAsync函数, 在WebView和CoreWebView2上都有。 webView.CoreWebView2.ExecuteScriptAsync(\"3+2*5\");
⾼级的函数还是在CoreWebView2上。例如,可以使⽤AddScriptToExecuteOnDocumentCreatedAsync注⼊需要执⾏的js到每⼀个页⾯。
await webView.EnsureCoreWebView2Async();
await webView.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(\"alert('hello world')\");
另外,还有⼀种反向执⾏脚本:就是在浏览器⾥的前端页⾯执⾏JS脚本,调⽤宿主程序的函数。这种场景可以使⽤AddHostObjectToScript函数,如下是⼀个简单的⽰例:⾸先定义需要注⼊的对象,
[ComVisible(true)] public class Bridge {
public string Func(string param) => \"Example: \" + param; }
然后,调⽤AddHostObjectToScript函数注⼊对象,
webView.CoreWebView2.AddHostObjectToScript(\"bridge\", new Bridge());然后,在前端程序就可以通过chrome.webview.hostObjects获取注⼊的对象了。
这个功能本⾝的内容较多,更详细的介绍可以参看官⽅⽂档:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务