js调试效果:

下面主要是拼装js代码 :

     /** * @Description 获取webView选中文字内容 * @param webView* @param callBack*/public static void webViewGetSelectedData(WebView webView,webViewGetSelectedDataCallBack callBack) {String js ="function selectEnable(document) {"+ "    document.oncontextmenu = new Function(\"if(event){event.returnValue=true;}\");"+ "    document.onselectstart = new Function(\"if(event){event.returnValue=true;}\");"+ "    let frames = document.getElementsByTagName(\"iframe\");"+ "    if (frames.length > 0) {"+ "        for (var i = 0; i < frames.length; i++) {"+ "            document = frames[i].contentDocument;"+ "            selectEnable(document);"+ "        }"+ "    }"+ "}"+ "function selectTxt(document) {"+ "    let rtnTxt = \"\";"+ "    rtnTxt = document.getSelection ? document.getSelection().toString() : document.selection.createRange().text;"+ "    let frames = document.getElementsByTagName(\"iframe\");"+ "    if (frames.length > 0) {"+ "        for (var i = 0; i < frames.length; i++) {"+ "            document = frames[i].contentDocument;"+ "            let sltTxt = selectTxt(document);"+ "            if (sltTxt != \"\") {"+ "                rtnTxt = sltTxt;"+ "            }"+ "        }"+ "    }"+ "    return rtnTxt;"+ "}"+ "(function(){"+ "    selectEnable(document);"+ "    return selectTxt(document);"+ "})()";/* android系统4.4以上的时候调用 4.4以下忽略*/webView.evaluateJavascript("javascript:" + js, txt -> {//todo 这里可以对返回文本进行处理,比如转为中文字符,过滤非法字符callBack.onFinished(txt);});        }public interface webViewGetSelectedDataCallBack{/**@param value*/void onFinished(String value);}

至于如何调用,可以通过

@Override
public void onActionModeStarted(ActionMode mode) {……webViewGetSelectedData(webView, value -> {               Log.i("getSelection", "getSelectedData: "+value);});……super.onActionModeStarted(mode);
}

Andorid与webView交互,获取webView选中文字,兼容了iframe相关推荐

  1. c# webbrowser  获取用户选中文字

    c# webbrowser  获取用户选中文字 原文:c# webbrowser  获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, 用户用鼠标左 ...

  2. ie禁止html复制元素,JavaScript_禁止选中文字兼容IE、Chrome、FF等,复制代码 代码如下: $(el).attr('u - phpStudy...

    禁止选中文字兼容IE.Chrome.FF等 $(el).attr('unselectable','on') .css({'-moz-user-select':'-moz-none', '-moz-us ...

  3. 拖动效果,防止选中文字兼容代码

    css 设置方法: -moz-user-select: none; /*火狐*/ -webkit-user-select: none; /*webkit浏览器*/ -ms-user-select: n ...

  4. android和webview交互,android webview与原生交互

    demo.html完整示例 demo 点击调用android代码 点击调用android代码并传递参数 function androidCallJs() { document.getElementBy ...

  5. VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单

    一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...

  6. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容...

    原文:背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 [源码下载 ...

  7. webview 交互

    为什么80%的码农都做不了架构师?>>>    webview 响应交互 //判断 webview里边的网址 或者其他交互 - (BOOL)webView:(UIWebView *) ...

  8. WebView交互架构项目实战(三):多进程WebView使用实践

    *本文介绍自己在使用WebView的过程中遇到的一些问题的解决方法和对WebView的一些优化实践* *浏览器缓存知识介绍:* 浏览器缓存之 Expires , max-age, Etag , Las ...

  9. android读取网页标题,如何获取WebView中页面的Title信息

    应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现 代码如下:public class MainActivit ...

最新文章

  1. 编译android不再需要jdk1.5
  2. R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
  3. 从消息到数据湖:看 Apache RocketMQ、Hudi、Kyuubi 最新进展
  4. 洛谷P4315 月下“毛景树”
  5. Jiaozi帮忙买的Secret Garden的票拿到了,谢谢Jiaozi
  6. Oracle高级SQL培训与讲解
  7. java 控制台五子棋_java控制台五子棋
  8. 百科系列——高一所遇
  9. # 20155224 实验四 Android程序设计
  10. R-基础测试(2)——在线帮助(转)
  11. Win8系统 界面大放送(Win8 抢先版)
  12. 利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了
  13. java有abc三边求周长语句_java 给定三个点由三个点求三角形周长和面积
  14. 【图像处理】.jpg 和 .png
  15. canal同步mysql到es
  16. 最简单的MySQL安装教程(数据库免安装版,免安装版,亲测好用) mysql-5.7.33-winx64.zip
  17. 【工具】BT - 比特彗星(端口监听(UPnP、ipv6、防火墙)、反吸血、tracker、杀毒)
  18. 机器越“智能”,数据标注员越容易被淘汰?丨曼孚科技
  19. pku1036Gangsters Dp
  20. 清华大学保研计算机推荐信模板,清华保研推荐信模板.doc

热门文章

  1. [转]模拟电路设计经典教材推荐
  2. Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)
  3. 工业互联网的两种极端想法和两点反思
  4. 国产数据库占央采九成份额
  5. 你知道WPF这三大模板实例运用吗?
  6. 使用ML.NET模型生成器来完成图片性别识别
  7. ASP.NET Core 中的 User Agent 识别及搜索引擎爬虫鉴定方法
  8. Hyper-V + CentOS7 安装视频教程
  9. ASP.NET Core中借助CSRedis实现安全高效的分布式锁
  10. github开源项目免费使用Azure PipeLine