我知道通过html5和CSS3可以实现一个手机端的APP页面,可是如何用js呢?
比如说做了几个文章简介的列表项,怎么用js去发出指令告诉ios或者Android点击打开一个新页面呢?
我应该是没学习到位吧,看着网上的内容讲的头头是道,可就是没明白js怎么去和ios或android进行交互呢?
我知道通过html5和CSS3可以实现一个手机端的APP页面,可是如何用js呢?
比如说做了几个文章简介的列表项,怎么用js去发出指令告诉ios或者Android点击打开一个新页面呢?
我应该是没学习到位吧,看着网上的内容讲的头头是道,可就是没明白js怎么去和ios或android进行交互呢?
一般hybridApp都是单页,不存在新开页面的情况,就拿你说的文章列表来说,首先进来是首页,点击列表链接后,js获取到你的点击,然后请求服务器的数据,重新渲染页面为文章列表。
js和android或者ios交互都是通过webview,先靠native代码启动一个webview组件,webview中访问一个页面,该页面的js可以调用本地封装好的方法。实现这种技术一般分两部分:从native向js传数据,从js向native传数据。
native->js。一般通过原生接口。android和ios都有接口可以在打开的webview中执行一段js脚本,可以靠这一招从native向页面传数据。
js->native。一般的做法是通过iframe。在页面中新建一个隐藏的iframe标签,native通过iframe标签的src属性变化来接受js传来的数据,比较hack的办法,但是因为ios和android都支持所以比较通用。android 4.4.2版本后这一招失效了,可以采用监控alert的办法补充。
我们现在的app就是采用hybrid app的开发方式,具体可以参考这篇blog的总结,欢迎交流。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
首先去了解下webview(可以当做浏览器用来加载网页)是什么,接下来可以看下这篇文章 Hybrid App实现原理 只看
Hybrid App实现原理
这一小节就可以