对Hybrid App开发的疑问,JavaScript是如何参与的

我知道通过html5和CSS3可以实现一个手机端的APP页面,可是如何用js呢?
比如说做了几个文章简介的列表项,怎么用js去发出指令告诉ios或者Android点击打开一个新页面呢?
我应该是没学习到位吧,看着网上的内容讲的头头是道,可就是没明白js怎么去和ios或android进行交互呢?

阅读 5.6k
5 个回答

首先去了解下webview(可以当做浏览器用来加载网页)是什么,接下来可以看下这篇文章 Hybrid App实现原理 只看Hybrid App实现原理这一小节就可以

每个文章的列表项应该都是连接吧!js不用发指令,js主要就是渲染出html页面和控制请求的转发。持续关注其他人的回答。

一般hybridApp都是单页,不存在新开页面的情况,就拿你说的文章列表来说,首先进来是首页,点击列表链接后,js获取到你的点击,然后请求服务器的数据,重新渲染页面为文章列表。

Js bridge.用原生代码留好接口,供页面中的js去调用。看下cordova的插件就明白了

js和android或者ios交互都是通过webview,先靠native代码启动一个webview组件,webview中访问一个页面,该页面的js可以调用本地封装好的方法。实现这种技术一般分两部分:从native向js传数据,从js向native传数据。

  1. native->js。一般通过原生接口。android和ios都有接口可以在打开的webview中执行一段js脚本,可以靠这一招从native向页面传数据。

  2. js->native。一般的做法是通过iframe。在页面中新建一个隐藏的iframe标签,native通过iframe标签的src属性变化来接受js传来的数据,比较hack的办法,但是因为ios和android都支持所以比较通用。android 4.4.2版本后这一招失效了,可以采用监控alert的办法补充。

我们现在的app就是采用hybrid app的开发方式,具体可以参考这篇blog的总结,欢迎交流。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏