当前位置: 移动技术网 > IT编程>开发语言>JavaScript > IOS与h5交互记录

IOS与h5交互记录

2018年11月23日  | 移动技术网IT编程  | 我要评论

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

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网