IOS与h5交互记录

2018-11-22 08:42:44来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

博主之前做过移动端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小媛酱---

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:浅谈JavaScript之Event(上篇)

下一篇:【css】table标签内的td、th如何设置固定宽度,而不是自适应?