Android-webview和js脚本语言交互的时候怎么获取js方法的返回值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-webview和js脚本语言交互的时候怎么获取js方法的返回值相关的知识,希望对你有一定的参考价值。
方法:
1、通过webview访问js脚本
2、js脚本再调用webview中的java函数把结果返回
示例代码:
通过本地的webview打开脚本页面。
调用步骤
1、设置webview支持脚本
webSettings.setjavascriptEnabled(true);2、打开脚本页面
3、调用脚本
mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数4、webview中建立js能够访问
final class DemoJavaScriptInterface
DemoJavaScriptInterface()
public void clickOnAndroid(String result)
System.out.prinltn("返回的结果"+result);
5、js访问webview方法
function wave()
alert("1");
window.demo.clickOnAndroid('结果1');//返回结果,调用java方法
</script> 参考技术A 您好,很高兴能帮助您
Android中webview和js之间的交互
1.android中利用webview调用网页上的js代码。
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2. 网页上调用android中java代码的方法
在网页中调用java代码,需要在webview控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object()
public void clickOnAndroid()
mHandler.post(new Runnable()
public void run()
Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show();
);
, "demo");
在网页中,只需要像调用js方法一样,进行调用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3. Java代码调用js并传参
首先需要带参数的js函数,如function test(str),然后只需在调用js时传入参数即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中调用java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebView.addJavascriptInterface(new Object()
public void clickOnAndroid(final int i)
mHandler.post(new Runnable()
public void run()
int j = i;
j++;
Toast.makeText(Test.this, "测试调用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
);
, "demo");
然后在html页面中,利用如下代码<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
即可实现调用
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,本回答被提问者和网友采纳
js基础
为什么要学?
减轻服务器压力
什么是JavaScript?
JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言
JavaScript特点
向HTML页面中添加交互行为
脚本语言,语法和Java类似
解释性语言,边执行边解释
JavaScript组成
ECMAScript DOM BOM
JavaScript的基本结构
语法:<script type="text/javascript">
? <!—
? JavaScript 语句;
? —>
</script >
应用:
<title>初学JavaScript</title>
</head>
<body>
<script type="text/javascript">
? document.write("初学JavaScript");
? document.write("<h1>Hello,JavaScript</h1>");
</script>
</body>
</html>
<script>…</script>可以包含在文档中的任何地方,只要保证这些代码在被使用前已读取并加载到内存即可
使用<script>标签
外部JS文件
<script src="export.js" type="text/javascript"></script>
直接在HTML标签中
<input name="btn"type="button" value="弹出消息框"
onclick="javascript:alert(‘欢迎你‘);"/>
核心语法-变量
先声明变量再赋值
var width;
width= 5;
同时声明和赋值变量
var catName= "皮皮";
var x, y, z = 10;
不声明直接赋值
核心语法-数据类型
数据类型
undefined
null
number
boolean
string
核心语法— typeof运算符
typeof检测变量的返回值
typeof运算符返回值如下
? undefined:变量被声明后,但未被赋值
? string:用单引号或双引号来声明的字符串
? boolean:true或false
? number:整数或浮点数
? object:javascript中的对象、数组和null
核心语法—String对象
属性
? 字符串对象.length
? 方法
? 字符串对象.方法名();
var str="this is JavaScript";
var strLength=str.length; //长度是18
方法名称 | 说 明 |
---|---|
charAt(index) | 返回在指定位置的字符 |
indexOf(str,index) | 查找某个指定的字符串在字符串中首次出现的位置 |
substring(index1,index2) | 返回位于指定索引index1和index2之间的字符串,并且包括索引index1对应的字符,不包括索引index2对应的字符 |
split(str) | 将字符串分割为字符串数组 |
核心语法—数组
创建数组
为数组元素赋值
访问数组
数组的常用属性和方法
类别 | 名称 | 描述 |
---|---|---|
属性 | length | 设置或返回数组中元素的数目 |
方法 | join( ) | 把数组的所有元素放入一个字符串,通过一个的分隔符进行分隔 |
sort() | 对数组排序 | |
push() | 向数组末尾添加一个或更多 元素,并返回新的长度 |
核心语法—运算符号
类型 | 运算符 |
---|---|
算术运算符 | + - * / % ++ — |
赋值运算符 | = += -= |
比较运算符 | > < >= <= == != === !== |
逻辑运算符 | && || ! |
核心语法—逻辑控制语句
if条件语句
switch多分支语句
for、while循环语句
for-in
核心语法—循环中断
break;
continue;
核心语法—注释
单行注释以//开始,以行末结束
多行注释以
/* 开始,以*/ 结束,符号/*…… */ 指示中间的语句是该程序中的注释
核心语法—常用的输入/输出
alert()
prompt()
核心语法—语法约定
代码区分大小写
变量、对象和函数的名称
分号
程序调试
Chrome开发人员工具
? 停止断点调试
? 单步调试,不进入函数体内部
? 单步调试,进入函数体内部
? 跳出当前函数
? 禁用所有的断点,不做任何调试
alert()方法
什么是函数
函数的含义:类似于Java中的方法,是完成特定任务的代码语句块
使用更简单:不用定义属于某个类,直接使用
函数分类:系统函数和自定义函数
常用系统函数
parseInt ("字符串")
? 将字符串转换为整型数字
? 如: parseInt ("86")将字符串“86“转换为整型值86
parseFloat("字符串")
? 将字符串转换为浮点型数字
? 如: parseFloat("34.45")将字符串“34.45“转换为浮点值34.45
isNaN()
? 用于检查其参数是否是非数字
自定义函数
定义函数
调用函数
有参无参函数
变量的作用域
全局变量
局部变量
事件
名称 | 说明 |
---|---|
onload | 一个页面或一幅图像完成加载 |
onclick | 鼠标单击某个对象 |
onmouseover | 鼠标指导移到某元素上 |
onkeydown | 某个键盘按键被按下 |
onchange | 域的内容被改变 |
以上是关于Android-webview和js脚本语言交互的时候怎么获取js方法的返回值的主要内容,如果未能解决你的问题,请参考以下文章