HTML5+Runtime
- 简介:
HTML5+规范是一套HTML5能力的扩展规范,定义了HTML5中没有,但开发者做App需要的扩展规范,它隶属于HTML5中国产业联盟(http://www.html5plus.org)。封装成跨平台的HTML5+规范是由HTML5中国产业联盟统一制定的,它并不做厂商私有API,而是包括二维码、摇一摇、语音输入、地图、支付、分享、文件系统、通讯录等常用API,可以方便简单的编写和实现跨平台App应用开发。
Android内置webkit内核的高性能浏览器,而WebView则是在这个基础上进行封装后的一个 控件,WebView直译网页视图,我们可以简单的看作一个可以嵌套到界面上的一个浏览器控件!
- 调用语法:
提前注入: <script src=“html5plus://ready”></script>
document.addEventListener('plusready',
function () {
// 在这里调用HTML5+ API
},false);
- API模块:
模块名称 | 说明 | API |
---|---|---|
Accelerometer | 访问设备感应器 | plus.accelerometer |
Audio | 访问设备麦克风 | plus.audio |
Cache | 管理应用缓存 | plus.cache |
Camera | 访问摄像头设备 | plus.camera |
Contacts | 访问系统联系人信息 | plus.constacts |
Device | 访问设备信息 | plus.device,plus.display,plus.networkinfo,plus.screen |
Downloader | 管理文件下载任务 | plus.downloader |
File | 访问本地文件系统 | plus.io |
Gallery | 访问系统相册 | plus.gallery |
Geolocation | 获取设备位置信息 | plus.geolocation |
Messaging | 访问设备通讯能力 | plus.messaging |
NativeObj | 原生对象 | plus.nativeObj |
NativeUI | 原生UI控件 | plus.nativeUI |
Navigator | 浏览器信息 | plus.navigator |
Orientation | 获取设备方向信息 | plus.orientation |
Push | 管理消息推送能力 | plus.push |
Proximity | 获取距离感应器 | plus.proximity |
Storage | 管理应用本地数据 | plus.storage |
Uploader | 管理文件上传任务 | plus.uploader |
Runtime | 访问运行期环境API | plus.Runtime |
Webview | 窗口管理 | plus.Webview |
XMLHttpRequest | 跨域网络访问API | plus.net |
Zip | 文件压缩与解压缩 | plus.zip |
Maps | 地图扩展功能 | plus.maps |
Barcode | 二维码功能 | plus.barcode |
Payment | 支付功能 | plus.payment |
Share | 分享功能 | plus.share |
Speech | 语音识别功能 | plus.speech |
Statistic | 统计功能 | plus.statistic |
Webview模块
简介:
Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作,一个APP往往包含多个窗口,相互之间的跳转、嵌套、刷新等,都可通过该窗口实现
方法:
- all:Array[WebviewObject] plus.Webview.all()
获取所有Webview窗口,返回一个WebviewObject的数组 - close:void plus.Webview.close(id_wvobj)
关闭已打开的Webview窗口,id_wvobj 为窗口对象的 id - create:WebviewObjec plus.Webview.creat(url)
创建Webview窗口,用于加载新的HTML页面 - hide:void plus.Webview.hide(id_wvobj) 隐藏窗口
- open:void plus.Webview.open(id_wvobj) 创建并显示窗口
- show:void plus.Webview.show(id_wvobj) 显示隐藏窗口
- currentWebview:WebviewObjec plus.Webview.currentWebview()
获取当前WebviewObjec 对象 - getWebviewById:WebviewObjec plus.Webview.getWebviewById(id)
通过id查找WebviewObjec 对象 - getLaunchWebview:WebviewObjec plus.Webview.getLaunchWebview()
获取应用首页的WebviewObjec 对象 - getTopWebview:WebviewObjec plus.Webview.getTopWebview()
获取栈顶的WebviewObjec 对象
WebviewObjeci
id属性:是Webview窗口的标识,为String类型,在打开或创建Webview窗口时设置,由于其的唯一性,建议使用页面名作为id
方法:
- addEventListener:wobj.addEventListener(event,listener) 添加事件监听器
- Append:wobj.Append(Webview) 添加子窗口
- AppendJsFile:wobj.AppendJsFile(file) 添加Webview窗口预加载js文件
- back:wobj.back( ) 回退
- children:wobj.children( ) 获取所有子窗口
- clear:wobj.clear( ) 清除窗口内容、历史记录,用于重新加载
- close:wobj.close( ) 关闭并销毁窗口
- forward:wobj.forward( ) 前进
- getURL:String wobj.getURL( ) 获取当前页面的URL
- loadURL:wobj.loadURL( ) 从新的URL加载页面
- parent:wobj.parent( ) 获取父窗口
- remove:wobj.remove(Webview ) 移除指定子窗口
- setStyle:wobj.setStyle(style) 设置窗口样式,style为json对象
- getStyle:wobj.getStyle() 返回窗口样式,为json对象
总结
混合APP的每个页面就是一个Webview窗口,通过Webview与JS交互,CSS美化页面,Runtime的API调用手机,这些技能进行有机的组合,从而实现各种功能。