博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webview中注入js文件实现js调用本地方法
阅读量:5220 次
发布时间:2019-06-14

本文共 1301 字,大约阅读时间需要 4 分钟。

webview中注入js文件实现js调用本地方法


1.创建一个内部类对象,其中通过@JavascriptInterface来声明android本地方法供js调用;

class JSObject {    @JavascriptInterface    public void closeWindow() {        //do something        ...    }        @JavascriptInterface    public void openImage(String img, String url) {        //do something        ...        }}

2.在webview中进行操作

webView.addJavascriptInterface(new JSObject(), "myObj");

3.在WebViewClient()的onPageFinished()方法中注入js代码

String js = "var script = document.createElement('script');";                   //常规操作                js+= "script.type = 'text/javascript';";                                        //常规操作                js+="var child=document.getElementsByClassName(\"btn_back hashover\")[0];";     //根据className来查找对应的组件                js+="child.onclick=function(){userIdClick();};";                                //为该组件设置点击事件                js+= "function userIdClick(){myObj.getClose();};";                              //通过该点击事件来调用android中的方法//                js+= "var ele = document.getElementsByTagName(\"img\");";                js+= "var ele = document.getElementsByClassName(\"strategy_desc\")[0].getElementsByTagName(\"img\");";                js+= "var imgUrl = new String();";                js+= "for (var i = 0; i

转载于:https://www.cnblogs.com/Ricardoldc/p/11163542.html

你可能感兴趣的文章
005 Fiddler get请求
查看>>
再生龙软件使用
查看>>
手机开发-安卓手机的更新换代
查看>>
ElasticSearch1.7.1 安装
查看>>
异常记录
查看>>
Laravel 设置语言不生效的问题
查看>>
PHP知识梳理
查看>>
pointer of 2d array and address
查看>>
php 中间件
查看>>
【转】sizeof 总结
查看>>
postgresql 空间函数 随笔
查看>>
Java中Thread与Runnable二三事
查看>>
Record
查看>>
CSS笔记——padding,margin为百分比计算时的参照对象
查看>>
在ubuntu服务器上配置tomcat
查看>>
判断回文
查看>>
SQL中的BETWEEN 操作符
查看>>
phplib系统开发经验总结
查看>>
黄金点游戏
查看>>
bzoj 2054: 疯狂的馒头
查看>>