js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android
需求:为网页上个链接增加点击事件,但是这个链接无法增加js代码
url:http://public.rongcloud.cn/view/D4F444BE2D94D760329F3CF38B4AE35C
网页截图:
需要给“投融资讯“四个字设置点击事件
但是观察源码
发货房间很干净或
2017-01-08
投融资讯
/>
>阅读原文
并没有具体的onclick事件,怎么办呢?
1、首先在Chrome上写了端测试代码,测试没问题
var child=document.getElementsByTagName('a')[0];
child.οnclick=function(){
userIdClick();
};
function userIdClick(){
myObj.getClose();
};
2、然后使用安卓端注入进来
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new JSObject(), "myObj");
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Toast.makeText(MainActivity.this, "wodo-7-", Toast.LENGTH_SHORT).show();
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String js = "var script = document.createElement('script');";
js+= "script.type = 'text/javascript';";
js+="var child=document.getElementsByTagName('a')[0];";
js+="child.οnclick=function(){userIdClick();};";
js+= "function userIdClick(){myObj.getClose();};";
webview.loadUrl("javascript:" + js);
}
});
class JSObject {
@JavascriptInterface
// sdk17版本以上加上注解
public String getData(String txt) {
return "12345678";
}
@JavascriptInterface
// sdk17版本以上加上注解
public void getClose() {
Toast.makeText(MainActivity.this, "dododo", Toast.LENGTH_SHORT)
.show();
// finish();
}
}
这样就可以实现点击调用本地方法了。
二、如果想获取html中某个内容
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String js = "var script = document.createElement('script');";
js+= "script.type = 'text/javascript';";
js+="var child=document.getElementsByTagName('a')[0];";
js+="child.οnclick=function(){userIdClick();};";
js+= "function userIdClick(){myObj.getClose();};";
webview.loadUrl("javascript:" + js);
//view.loadUrl("javascript:window.myObj.showSource(document.getElementsByTagName('p')[1].innerHTML);");
view.loadUrl("javascript:myObj.showSource(document.getElementsByTagName('p')[0].innerHTML);"); //关键代码
}
});
/**
* 本地化JS对象(第一种方法)
*
* @author jiangwei1-g
*/
class JSObject {
@JavascriptInterface
// sdk17版本以上加上注解
public String getData(String txt) {
return "12345678";
}
@JavascriptInterface
// sdk17版本以上加上注解
public void getClose() {
Toast.makeText(MainActivity.this, "dododo", Toast.LENGTH_SHORT).show();
}
@JavascriptInterface
// sdk17版本以上加上注解
public void showSource(String html) { //关键代码
Toast.makeText(MainActivity.this, html, Toast.LENGTH_SHORT).show();
System.out.println("====>html="+html);
}
}
js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android相关推荐
- 网页中的css代码是写在哪的,网页里面的空格的代码怎么写
空格字符由&+n+b+s+p+;组成字符,后面的分号记住不能少了.这组空格字符一定输入到HTML代码里,才能实现空格效果. 如果有多个空格我们就复制粘贴输入多次" "即可. ...
- php获取视频大小代码怎么写,利用php获得flv视频长度的实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: function BigEndian2Int($byte_word, $signed = false) { $int_value = 0; $by ...
- webView 显示一段 html 代码
1.布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...
- 情人节python代码_情人节 ,能否表白成功就看这段Python代码了
点击上方Python知识圈,选择设为星标 回复1024获取Python资料 作者:@明哥公众号:Python编程时光 阅读文本大概需要 6 分钟 2020年,这个看起来如此浪漫的年份,你还是一个人吗? ...
- 如何使用ITEXTSHARP将HTML代码字符串写进PDF
如何使用ITEXTSHARP将HTML代码字符串写进PDF 原文 如何使用ITEXTSHARP将HTML代码字符串写进PDF itextsharp包括一个简单的类,可以用来根据html代码或字符串创建 ...
- GTK+实现linux聊天室代码详解-clientr端
查看原代码请点击此超链接 注意!!此聊天室对红帽无兼容.需在其他linux系统上运行,如"深度". 加油学习! GTK+实现linux聊天室代码详解-server端:GTK+实现l ...
- python新建文件夹口令_3分钟学会一段Python代码脚本,轻松实现破解FTP密码口令...
很多关注我的小伙伴在上篇文章里学习到了如何利用python去破解加密的ZIP压缩文件,感觉很有意思,就有很多小伙伴问我有没有利用python脚本实现FTP服务器口令的暴力破解,今天小编就以此篇文章内容 ...
- 一次失败的尝试,h5+Api 结合 react,webpack,同时生成android 、ios、h5端代码
vue 项目写多了,觉得不能一成不变,想去外面的世界看看.所以尝试了一把react开发,嗯~ o( ̄▽ ̄)o 就在想做一个webApp吧,脚手架也自己搭一个吧.然后脚手架搭建完,项目可以正式开始了,自 ...
- android 搜索文件代码怎么写,android学习笔记(5)-一个搜索文件的APP(2)-搜索功能的实现...
接上一篇,今天把搜索的代码放上去了.效果图如下. MainActivity.java package com.stk.afinder; import android.os.Bundle; import ...
最新文章
- linux c 结构体初始化的四种方法
- python语言句块的标记_Python语言语句块的标记是()
- Linux上新建文件夹并将另一个文件夹移动进来
- 周报速递丨《“十四五”国家信息化规划》出台;​快手美团两大生态互联互通
- linux之lrzsz
- Csla框架之业务与验证规则
- ipsec说明以及隧道案例
- 输入正方体的边长,计算正方体的面积和体积
- 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)
- 计算机二级考试办公软件高级应用题型,计算机二级考试题型
- 双层pdf怎么制作(可以复制里面文字)纸质书如何制作扫描图片书签目录?
- StataIC——协整检验与误差修正模型
- 由PPP项目总结的几点项目经验
- ios福利部落绕过激活锁,屏幕锁/已停用界面完美隐藏工具,支持最新ios15.5系统绕过
- 正则表达式与文本处理器
- peoplesoft 日志
- 大家应该如何选择短线交易?
- python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了
- 嵌入式简答题知识点总结
- python 串口示波器