android4.4 evaluateJavascript 到android2.X上不能调用的问题
调用 不能 问题
2023-09-11 14:14:42 时间
android4.4上想用js注入的话。不能用旧的loadUrl()方法,每次load都会将页面又一次刷新一次。
可是在2.X的系统版本号上,evaluateJavascript 方法会报异常。解决的方法呢,我想到了一个,假设有更好的方式,请留言告诉我。互相学习。
首先能够推断系统版本号:here:
@SuppressWarnings("deprecation") public static int getAndroidSDKVersion() { int version=0; try { version = Integer.valueOf(android.os.Build.VERSION.SDK); } catch (NumberFormatException e) { } return version; }然后推断该使用loadUrl还是evaluateJavascript 方法来载入注入js的方式。
if(version<18){ webView.loadUrl(jsStr); }else{ webView.evaluateJavascript(jsStr, new ValueCallback<String>() { @Override public void onReceiveValue(String value) { }}); } }
ok!
that it is!
相关文章
- 如何重建一个损坏的调用堆栈(callstack)
- 通过cmd调用Powershell脚本 批量修改文件编码
- python基于request库,调用聊天机器人接口,request的几种方式汇总
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。
- Oracle DBCA高级玩法:从模板选择、脚本调用到多租户
- C# 多线程修改控件时遇到:创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
- 调用华为创建游戏存档接口时,页面上方不停地弹出登录欢迎栏
- 函数的泛型约束是函数签名的一部分,不符合约束的初始调用将不能查找到函数(报错)
- Delphi调用爷爷类的方法(自己构建一个procedure of Object)
- DLL中不能调用CoInitialize和CoInitializeEx
- linux c 编程 ------ 通过设备节点调用驱动
- Loadrunner不能调用IE解决方法大全
- python odoo 调用action 动态增加字段,分别调用不同的view
- "在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke"