关于微信端 顶部会撑开页面的解决方案
关于微信端 顶部会撑开页面的解决方案
!function(){
/**
*clientHeigh 屏幕高度(长度)
*clientWidth 屏幕宽度
* innerHeight 去掉被导航栏遮盖的那部分之后的真是的能够显示的高度
*valrem remVal 都是计算用的参数,自定义的
*
*if-对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
*else-这种方法 在iphone6的语境下,"写死"认为高度为1.28rem = 导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
*/
c
isWx =/micromessenger/i.test(navigator.userAgent.toLowerCase());
console.log("UA= " + navigator.userAgent.toLowerCase());
console.log("clientHeight= "+clientHeight);
console.log("innerHeight= "+innerHeight);
console.log("valrem= " +valrem);
console.log("clientWidth = " +clientWidth);
console.log("remVar= "+remVar);
if (innerHeight !== clientHeight) {
//if-对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
if (isWx) {
$("#section").css("transform","translateY("+valrem+")");
}else{
//else- 在iphone6的语境下,"写死"认为高度为1.28rem = 导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
$("#section").css("transform","translateY("+remVar+")");
}
}
}();
唯一的 遗憾是需要借助jquery,这个让人比较不爽,没有找到可以用的js的属性来表示clientHeight.
//version2 这种情况并没有对全不全屏做任何限制.
//version 2 对俺们可爱的头文件进行的特殊处理
!function(){
var
clientWidth = document.documentElement.clientWidth,
clientHeight=$(document).height();
innerHeight = window.innerHeight,
remVar=-1*(128-40)*(clientWidth/750)+"px",
remVarWx=-1*(128-40)*(clientWidth/750)+20 +"px",
isWx =/micromessenger/i.test(navigator.userAgent.toLowerCase());
console.log("remVar = "+ remVar);
if (innerHeight !== clientHeight) {
//对微信单独讨论的原因是微信只有上面的导航栏,其他UC,QQ等既有上面的 导航栏,也有下面的导航栏
if (isWx) {
$("#section").css("transform","translateY("+remVarWx+")");
}else{
//这种方法 在iphone6的语境下,"写死"认为高度为 1.28rem = 导航栏+ 信息显示栏(时间等信息的那个nav) ;实际上也差不多 :)
//version 2 为我们可爱的 导航栏留出了空间
$("#section").css("transform","translate3d("+remVar+")");
}
}
}();