移动端开发踩过的坑

1.min-height的继承问题

这不是一个h5的问题,但是也是在这次中正好遇到的。
你也许会给一个元素一个 min-height,然后你会发现他的子元素在大部分浏览器——而且是现代浏览器——却不能再继承它了。
也就是父子元素都用了min-height:100%,子元素会得不到预期的高度。
你也有很多种解决方法,比如在用min-height:100%的同时加一个 height:1px,或者用js动态的去加。
但是前者当你元素本身存在overflow:hidden的时候,会抵消到滚动条,后者有效率问题,而且会闪一下。
所以我推荐另一种方法,当你不用去顾虑低版本浏览器,比如在h5上面时。
把父元素的display设定为table,子元素的当然是设定为table-cell。 这样子元素就会自动填充满父元素,而父元素你就可以正常的用min-height了。

2.click事件,模拟器上都没问题,但是手机上就是不触发

也许是为了性能考虑吧,手机上不会去主动的监听click之类的事件,你需要在监听的dom上css,cursor:pointer

3.浏览器后退不刷新

这种情况是以前遇到的,这里也再说一下。
主要会发生在webview里多一点。当你点击后退时候,页面是以缓存形式出现的,而不是刷新后的。很多情况下这不是你预期的效果。
解决方法是用js:

window.onpageshow =function(evt){
// If persisted then it is in the page cache, force a reload of the page.
  if(evt.persisted){ 
     document.body.style.display ="none";
     location.reload();
  }
};

onpageshow每次页面加载都会触发,无论是从缓存中加载还是正常加载。这是他和onload的区别
persisted判断页面是否从缓存中读出,利用这两个属性就可以很好地完成我们的要求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,205评论 0 1
  • 千年的芦花悠悠地飘 文/岠山剑客 (本文为系列作品“跑步遇到诗”内容之一,更多跑步遇到诗请点击:跑步遇到诗目录) ...
    岠山剑客阅读 164评论 4 8
  • 1 艾薇是我初中同学,多年未见,有天我开车经过淳化街的时候等红绿灯,我东张西望突然看到了在站台上有个很面熟的面孔,...
    白卷儿阅读 932评论 1 3