客户端内嵌H5
这是余小鱼的第一篇博客,做了快3年的前端,第一次写博客哦。最近公司在做客户端内嵌H5,遇到了一些bug,便记下一丢丢,留着以后慢慢看。(有啥写错了,欢迎大家指点,反正指出来,我也不该,哈哈)
1、ios内嵌h5的。
相对于安卓端,ios端还是问题比较多,毕竟不是亲生的。
1.1、点击事件
h5页面点击问题感觉是最大,仿佛ios内嵌h5只能支持<button>
和<a>
,其他的标签需要在标签属性上加cursor: pointer ===》eq:<div style="cursor: pointer">点我</div>
,但是这种方法仿佛有时候也不能响应点击事件,并且这种随机性有时候会和版本有ios的版本有关系,以及客户端所用的内嵌h5的框架有关。
中间又发现<a></a>
往往没有响应,后来加上<a href="#"></a>
发现可以了,但是会跳转2次页面(智障了),最后改成<a href="javascript:;"></a>
才算可以。
在使用jquery的点击事件要注意on()和click()事件。其实这应该是属于dom渲染方面的问题,但是有时候bug出现一时,点击没反应,就到处测试,往往就会怀疑,哈哈。要坚信自己。前者on()可以绑定动态或者静态的dom上,但是click()只能绑定在静态dom上的。
1.2、向客户端传参数。
ios客户端传参有点麻烦,似乎涉及到生命周期的问题,没有深究。目前处理的方法就是客户端在h5页面放钩子函数,然后h5页面渲染的时候,判断客户端类型,定义方法给客户端调用。
var prames ;
if(isiOS){
window.webkit.messageHandlers.GRateTurn.postMessage({});
}
function setConigInfo(prame){//ios跑的方法
prames = prame;
}
2、安卓内嵌h5的。
未完待续。。。。
来源:CSDN
作者:结实的胖子
链接:https://blog.csdn.net/m0_37951129/article/details/103946721