需求:为网页上个链接增加点击事件,但是这个链接无法增加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相关推荐

  1. 网页中的css代码是写在哪的,网页里面的空格的代码怎么写

    空格字符由&+n+b+s+p+;组成字符,后面的分号记住不能少了.这组空格字符一定输入到HTML代码里,才能实现空格效果. 如果有多个空格我们就复制粘贴输入多次" "即可. ...

  2. php获取视频大小代码怎么写,利用php获得flv视频长度的实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: function BigEndian2Int($byte_word, $signed = false) { $int_value = 0; $by ...

  3. webView 显示一段 html 代码

    1.布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...

  4. 情人节python代码_情人节 ,能否表白成功就看这段Python代码了

    点击上方Python知识圈,选择设为星标 回复1024获取Python资料 作者:@明哥公众号:Python编程时光 阅读文本大概需要 6 分钟 2020年,这个看起来如此浪漫的年份,你还是一个人吗? ...

  5. 如何使用ITEXTSHARP将HTML代码字符串写进PDF

    如何使用ITEXTSHARP将HTML代码字符串写进PDF 原文 如何使用ITEXTSHARP将HTML代码字符串写进PDF itextsharp包括一个简单的类,可以用来根据html代码或字符串创建 ...

  6. GTK+实现linux聊天室代码详解-clientr端

    查看原代码请点击此超链接 注意!!此聊天室对红帽无兼容.需在其他linux系统上运行,如"深度". 加油学习! GTK+实现linux聊天室代码详解-server端:GTK+实现l ...

  7. python新建文件夹口令_3分钟学会一段Python代码脚本,轻松实现破解FTP密码口令...

    很多关注我的小伙伴在上篇文章里学习到了如何利用python去破解加密的ZIP压缩文件,感觉很有意思,就有很多小伙伴问我有没有利用python脚本实现FTP服务器口令的暴力破解,今天小编就以此篇文章内容 ...

  8. 一次失败的尝试,h5+Api 结合 react,webpack,同时生成android 、ios、h5端代码

    vue 项目写多了,觉得不能一成不变,想去外面的世界看看.所以尝试了一把react开发,嗯~ o( ̄▽ ̄)o 就在想做一个webApp吧,脚手架也自己搭一个吧.然后脚手架搭建完,项目可以正式开始了,自 ...

  9. android 搜索文件代码怎么写,android学习笔记(5)-一个搜索文件的APP(2)-搜索功能的实现...

    接上一篇,今天把搜索的代码放上去了.效果图如下. MainActivity.java package com.stk.afinder; import android.os.Bundle; import ...

最新文章

  1. linux c 结构体初始化的四种方法
  2. python语言句块的标记_Python语言语句块的标记是()
  3. Linux上新建文件夹并将另一个文件夹移动进来
  4. 周报速递丨《“十四五”国家信息化规划》出台;​快手美团两大生态互联互通
  5. linux之lrzsz
  6. Csla框架之业务与验证规则
  7. ipsec说明以及隧道案例
  8. 输入正方体的边长,计算正方体的面积和体积
  9. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)
  10. 计算机二级考试办公软件高级应用题型,计算机二级考试题型
  11. 双层pdf怎么制作(可以复制里面文字)纸质书如何制作扫描图片书签目录?
  12. StataIC——协整检验与误差修正模型
  13. 由PPP项目总结的几点项目经验
  14. ios福利部落绕过激活锁,屏幕锁/已停用界面完美隐藏工具,支持最新ios15.5系统绕过
  15. 正则表达式与文本处理器
  16. peoplesoft 日志
  17. 大家应该如何选择短线交易?
  18. python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了
  19. 嵌入式简答题知识点总结
  20. python 串口示波器

热门文章

  1. 126day(继续阅读Core Java4.5)
  2. 自己动手做个智能小车(1)
  3. mysql2008和mysql2000_[转载]SQL 2008到2005和2000版本的转换
  4. EJB 3 术语汇编
  5. Linux系统使用教程
  6. asp毕业设计——基于asp+sqlserver的酒店预定管理系统设计与实现(毕业论文+程序源码)——酒店预定管理系统
  7. 鼎普计算机保密检查系统,敏感电子信息集中管控平台系统
  8. fastadmin框架前台常用语句
  9. 浅谈医药工业洁净类厂房智能照明设计与选型
  10. AD测量线长及其快捷键