web端与APP在webview上的信息传递
在做app项目的时候,有时候会遇到有webview的情况,一般来说是文本内容带有HTML的数据的时候,IOS及安卓不太好处理,这个时候就会用到webview,当然也会有很多其他情况,这个时候基本都要web组和APP组互相交互调用方法及传递参数。
一、web向APP传递参数或调用方法。
就我们实际情况来说,比如回家学习这个项目的课时详情页面,里面内容包括带HTML的文本数据,但同时也有很多其他的功能,比如录音评分,页面上离开的各个跳转按钮,等。这些都是需要和APP组一起完成的,简单来说就是点击我页面上的去购买,或者是学习完成,这是去不同的地方,我会绑定一个函数,然后调用到app组那边设置的方法。
上面这就是一个方法调用,其实对我们来说就是吧以前正常的ui跳转及传参改为了调用一个方法并传参,其中有一个区分IOS还是安卓,然后调用app那边给你提供的方法就好了,并没有太多区别。
二、APP向web传递参数或调用方法。
除了上面的我们调用APP的方法外,还有一种是他们调用我们的方法或者传参给我们,有时候我们需要使用他们APP里面的功能,然后需要他们吧结果传给我们做展示,这个时候就需要我们写好展示方法然后让APP组调用。
首先我们需要在控制器外面编写方法,这个方法是让APP组调用到的,然后我们通过window.添加全局的方法,调用到我们在控制器里面写的方法。
APP那边无法直接调用到我们控制器里面的方法,所以只能在控制器外面一个转接。
三、APP直接调用webview时传递参数。
Web在使用带U的接口的时候,后端会获取cookie去识别身份,而APP是用token识别身份,所以在使用webview的时候他们会需要直接传递参数,这个时候会把参数放在url上,类似于我们平常的页面间传参,只是这个时候参数是APP那边拼上去的,同时也会传递当前页面所需参数,比如id一类,例如:
http://test.study.home.ptteng.com/taskDetailR?periodId=429&token=344905|1a67175d50e42b409fd430518268f15a*eEPotQ5tgoEGqTQ7YWGS1-Ox9KHEVKMFUu6ve2_JXHk=
这样我们就可以直接从url上获取参数正常展示页面。