Xamarin开发笔记—WebView双项事件调用

1.Xamarin调用WebView:

原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数。

WebView展示的代码如下:

var htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<html>
                <head>
                    <meta charset='UTF-8'>
                    <title></title>
                    <script>
                        function showMsg(msg){
                            alert('hello '+msg);
                        }
                    </script>
                </head>
                <body>
                    你好世界.
                </body>
                </html>";
this.webview.Source = htmlSource;

调用核心代码:

this.wv.Eval("showMsg('王磊')");

效果如下:

 

 

2.WebView调用Xamarin:

原理:WebView通过Navigating改变事件拦截,进行业务处理。

流程:WebView添加Navigating事件 => 修改html代码里面的href为自定义的格式和协议 => 在Navigating事件里面判断拦截处理。

html核心代码:

<WebView ... Navigating="wv_Navigating"  ></WebView>

<a href='xaml:{id:xxx}'>xxx</a>

后台核心代码:

/// <summary>
/// WebView链接改变事件(点击href时触发)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void wv_Navigating(object sender, WebNavigatingEventArgs e)
{
    string identify = "xaml:"; //自定义协议关键字
    string url = e.Url; //href信息
    if (url.Contains(identify)) //是自定义的xaml:协议,执行事件
    {
    e.Cancel = true;
        JObject jb = JObject.Parse(url.Substring(identify.Length));
        Debug.WriteLine("获取data:" + jb.ToString());
        //todo:业务逻辑
    }
}

  

Xamarin系列其他推荐 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sufu1065

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值