我知道通过html5和CSS3可以实现一个手机端的APP页面,可是如何用js呢?比如说做了几个文章简介的列表项,怎么用js去发出指令告诉ios或者Android点击打开一个新页面呢?我应该是没学习到位吧,看着网上的内容讲的头头是道,可就是没明白js怎么去和ios或android进行交互呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
首先去了解下webview(可以当做浏览器用来加载网页)是什么,接下来可以看下这篇文章 Hybrid App实现原理 只看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传数据。
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的总结,欢迎交流。
首先去了解下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传数据。
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的总结,欢迎交流。