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上獲取參數正常展示頁面。