首先说下开发模式,刚刚开始接触,基本沿用 web 端开发方式,目前开发模式上没有找到的适合的,现在基本这样:
1,电脑 nginx 配置服务器
3,电脑和手机连同一个局域网,
2,android root 和 iphone 越狱 来绑 hosts,访问电脑配置的环境。
但是 UC,QQ 浏览器缓存严重,根本对 hosts 的文件的修改无动于衷。。不得每次修改将文件更到外网修改,调试起来相当麻烦。
一个问题是有些根本不支持 fix 定位,这个只有绑定 js touchmove 事件兼容了。
最令人头疼的是不完全支持。。
首先遇到的问题是在 fix 定位的元素内不能有 position:relative 或者 absolute 的元素,如果有,这些元素不会受到 fixed 的祖先元素的限制,会根据 body 定位,滚动到最底部的时候才跟着 fixed 元素一起滚动。这个的解决就是去掉那些定位,换用其他定位方式。。
另一个问题 fix 定位后,fix 的浮层根本不显示,只有滚动到最底部才显示出来,然后可以正常 fixed 定位。这个层是 js 动态添加,我曾经试过在 js 里 el.style.display = ‘none’;el.style.display = ‘block’; 但是没有任何作用,最终解决方法是在 css 里设置 display:none; 然后动态插入 body 后设置 style.display = ‘block’; 这个问题解决。
在解决这个问题后,还有一个问题是这个 fix 的层在没有滚动的时候可以正常点击,但滚动后点击这个层根本没有反应,这个层会被透过就像设置了 : pointer-eventes:none; 一样,点击到了层的下一层。这个的解决是
将 在 viewport 添加 user-scalable=no:
代码如下 | 复制代码 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" /> |
变成:
代码如下 | 复制代码 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0 user-scalable=no"/> |
恩,fix 定位基本这些。。