IOS與h5交互記錄


博主之前做過移動端app嵌入網頁,與Android和IOS有交互,一直沒有時間分享過程。這里不多說Android交互啦~很簡單,詳細了解IOS與h5的交互吧。

IOS不同語法和h5的交互所建立的JSBrige是不一樣的,但是大致思想是一樣。這里粘出swift與h5交互創建JSBrige。

 

 

這是js部分基礎搭建橋,可以將其固定封裝成單獨的js文件,然后在main.js中引入,我們可以通過SwiftJSBridge.callNativeBridge傳輸數據。

假設網頁端需要從ios端拿到token,便可以約定一個名為getToken的方法,{}里寫着與ios約定好的JSON對象

window['first']=function() {
if(window.SwiftJSBridge){
SwiftJSBridge.callNativeBridge("getToken",{"data":"give me token"},function(data){
if(data.token){
//操作token
axios.defaults.headers.common['psstoken'] = data.token;
localStorage.setItem('token',data.token);
}
 
return;
})
}
}

交互方面其實是簡單的。但是關於ios版本不兼容插件問題會有很多麻煩之處。

ios9不兼容jquery.mobile 1.4.5以下,並且不兼容es6語法糖,所以會導致如果使用原生js寫項目,在ios9版本的手機,會沒有任何js的交互功能出現。改用jquery.mobile 1.4.5之后,的確可以兼容了,但是卻出現了ios其他版本請求后台沒有反應的情況,經過一系列排查發現jquery.mobile 1.4.5是不被ios其他版本兼容的,因此當這種兼容問題出現時,可以考慮從客戶端拿版本進行判斷,也可以無腦式將兩種插件載入。。沒想到這招可以。。爬坑艱難

---zyy小媛醬---

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM