h5调⽤⼿机相机和录⾳机_H5必知必会之与App交互
奇技指南
本⽂来⾃奇舞周刊,作者李松峰,资深技术图书译者,翻译出版过40余部技术及交互设计专著,现任360奇舞团⾼级前端开发⼯程
师,360前端技术委员会委员、W3C AC代表
2018年11⽉26⽇发表的“360 AI⾳箱H5开发实践”⼀⽂中,曾简单提到“与Native交互”。本⽂将就此主题深⼊探讨H5与App交互的⼏种常见模式。
⾸先声明,本⽂涉及的H5与App交互协议和模式没有什么特别独到之处,相反,它们恰恰是在业界既有经验基础上结合项⽬实际归纳提炼
出来的。因此,⽂中涉及的技术和代码可以看作是⾏业经验落地的产物,不涉秘,也不是权威做法,仅供业界同仁参考。
本⽂内容如下:
概述
基础接⼝
单向调⽤
双向调⽤
实现模式
网页设计html代码翻译哪⽅主导
概述
H5,在中国被专门⽤来指代开发内嵌于⼿机应⽤中的⽹页的技术,外国好像并没有这个说法。从技术上讲,H5是HTML5即Hyper Text Markup Language(超⽂本标记语⾔)第5版的简称。⽽HTML只是开发⽹页要⽤到的多种技术之⼀。除了HTML,还要⽤CSS设计界⾯,
⽤JavaScript实现交互,甚⾄要⽤Node.js实现服务端逻辑。为什么H5会被⽤来笼统地指代这些技术呢?我猜⼀是因为它简单,⼆是移动端⽹页开发技术⼜恰好需要这么⼀个概念。
移动端⽹页运⾏在⼿机应⽤内嵌的浏览器引擎中,这个没有UI的内核容器统称WebView,即iPhone的UIWebView(iOS 2.0–12.0)、WKWebView(iOS 8.0+,macOS 10.10+)和Android的WebView。总之,WebView就是在⼿机应⽤中运⾏和展⽰⽹页的界⾯和接⼝(神奇的是,英⽂Interface,既可以翻译成“界⾯”也可以翻译成“接⼝”)。
H5与原⽣应⽤的交互都是通过原⽣应⽤中的WebView实现的。通过这个环境,H5可以调⽤原⽣应⽤注⼊其中的原⽣对象的⽅法,原⽣应
⽤也可以调⽤H5暴露在这个环境中的JavaScript对象的⽅法,从⽽实现指令与数据的传输。
⽐如,在Android应⽤中,WebView类有⼀个公有⽅法addJavascriptInterface,签名为:
public void addJavascriptInterface (Object object, String name)
调⽤这个⽅法可以向WebView中以指定的名称name注⼊指定的Java对象object。这样,WebView中的JavaScript就可以通过name调⽤object的⽅法。⽐如:
class JsObject { @JavascriptInterface public String toString() { return "injectedObject"; } } Settings().setJavaScriptEnabled(true); webView.add

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。