webview与js的交互方式

本文总结了WebView与JavaScript交互的几种方式,包括js接口、http伪协议、alert捕获和WebView调用H5方法。重点介绍了http伪协议和alert方法,这两种方式能避免安全风险并减少潜在的白屏问题,推荐用于H5向WebView传递参数。同时,通过loadUrl调用H5上的js函数,实现了WebView向H5的回调,形成了交互闭环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近用到webview内嵌H5页面的场景非常之多,个人感觉在webview与js的交互中遇到了许多的困难,也找到了一些解决方案,在此总结曾经用到的js&webview的交互方式,分享给大家,希望对大家有帮助,欢迎拍砖!

1、js 接口方式

       这是最开始遇到的坑,当时android的某历史著名漏洞还没有完全暴露出来,因此曾经采用过这种方式实现js与webview的交互,具体思想是:

       向WebView注册“jsInterface”的对象,然后在JS中可以访问到jsInterface这个对象,就可以调用这个对象的一些方法,最终可以调用到Java代码中,从而实现了JS与Java代码的交互。

webView.addJavascriptInterface(new Test(), "Test");

       但是用这种方式实现交互当JS包含恶意代码时,app中的信息存在巨大安全风险,因此接口的方式不建议使用,故在此不做详细介绍。

2、http伪协议

       这是目前js向终端传递信息最常见的方式之一,其原理是we

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值