教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

webview与javascript交互相关技术

来源:网络收集 时间:2025-05-01
导读: android 中webview 与javascript交互技术的介绍 内置详解 目录 1. Webview介绍与Javascript介绍 2. Webview与JavaScript交互用到的技术 3. Webview与JavaScript 交互步骤与参数流程 android 中webview 与javascript交互技术的介绍 内置详解 1. webview 介绍

android 中webview 与javascript交互技术的介绍 内置详解

目录

1. Webview介绍与Javascript介绍

2. Webview与JavaScript交互用到的技术

3. Webview与JavaScript 交互步骤与参数流程

android 中webview 与javascript交互技术的介绍 内置详解

1. webview 介绍 与javascript 介绍

webview:

Android手机中内置了一个webkit的浏览器 ,在SDK中封装成了webview

Javascript :

JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观

android 中webview 与javascript交互技术的介绍 内置详解

3.Webview与JavaScript交互用到的方法。

WebViewClient主要帮助WebView处理各种通知、请求事件的,比如: onLoadResource //在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。

onPageStart //在页面加载开始时调用。

onPageFinish //在页面加载结束时调用。

onReceiveError

onReceivedHttpAuthRequest //身份验证请求时调用

WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如JS、进度条等,就要用到WebChromeClient。 onCloseWindow(关闭WebView)

onCreateWindow()

onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出) onJsPrompt//在客户端上显示一个提示对话框

onJsConfirm //在客户端上显示一个提交对话框

onProgressChanged //提示应用程序当前进度去加载一个页面

onReceivedIcon

onReceivedTitle

看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,

android 中webview 与javascript交互技术的介绍 内置详解

4. Webview与JavaScript 交互步骤与参数流程

一 ,

1. AndroidManifest.xml中必须注册"android.permission.INTERNET"进行权限许可,(如果只是使用本地HTML,可以不用注册许可权限)否则会出Web page not available错误

2. 如果在web中使用js需要许可javascript执行:WebView webv =(WebView)findViewById(R.id.webv);//从xml中获取webview,

webv.getSettings().setJavaScriptEnabled(true);//允许JS执行

3.如果在用webview做应用的时候我们不希望新建webview进程,让程序跳来跳去那么进行如下设置

webv.setWebViewClient(new WebViewClient(){

public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url);//点击超链接的时候重新在原来进程上加载URL

return true;

}

});

4. 在做webview开发是经常会加载本机的html文件如下:

android 中webview 与javascript交互技术的介绍 内置详解

file:///android_asset/teste.html 加载项目assets下的文件teste.html file:///sdcard/index.html 加载sdcard下的index.html文件

5 . 在javascript中调用java方法 , 传递给java方法参数:

5.1先将一个当前的java对象绑定到一个javascript上面,使用如下方法

webv.addJavascriptInterface(this, "someThing");//this为当前对象,绑定到js的someThing上面,主要someThing的作用域是全局的。一旦初始化便可随处运行

5.2 Js中定义被调用的java方法

<a onClick="window. someThing.clickOnAndroid()">

6 . java中调用js代码,当然这个也需要触发,现在将上述html中的onload代码改变为onload="javascript:window.someThing.getJsData()" 然后在java中增加如下代码

public void getJsData(){

webv.loadUrl("javascript:dosomething(‘ ’)");

}

android 中webview 与javascript交互技术的介绍 内置详解

二,

这里还有几个知识点:

1)为了让WebView从apk文件中加载assets,Android SDK提供了一个schema,前缀为"file:///android_asset/"。WebView遇到这样的schema,就去当前包中的assets目录中找内容。如上面的

"file:///android_asset/demo.html"

2) addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用Handler的目的。

…… 此处隐藏:772字,全部文档内容请下载后查看。喜欢就下载吧 ……
webview与javascript交互相关技术.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/2327596.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)