h5适配华为手机_加急!!!!H5正屏切换,适配华为

做整屏切换的时候,出现适配问题,

83b6f3333274b452271c6e729e77fcf4.png

是因为华为 有虚拟键这个问题

我使用的是rem布局

(function (win, lib) {

var doc = win.document;

var docEl = doc.documentElement;

var devicePixelRatio = win.devicePixelRatio;

var dpr = 1;

var scale = 1;

function setViewport() {

dpr = 1;

win.devicePixelRatioValue = dpr;

scale = 1 / dpr;

var metaEl = doc.createElement("meta");

metaEl.setAttribute("name", "viewport");

metaEl.setAttribute("content", "initial-scale=" + scale + ", maximum-scale=" + scale + ", minimum-scale=" + scale + ", user-scalable=no");

if (docEl.firstElementChild) {

docEl.firstElementChild.appendChild(metaEl)

} else {

var wrap = doc.createElement("div");

wrap.appendChild(metaEl);

doc.write(wrap.innerHTML)

}

}

setViewport();

var newBase = 100;

function setRem() {

var visualView = Math.min(docEl.getBoundingClientRect().width, lib.maxWidth);

newBase = 100 * visualView / lib.desinWidth;

docEl.style.fontSize = newBase + "px"

}

var tid;

lib.desinWidth = 640;

lib.baseFont = 18;

lib.maxWidth = 540;

lib.init = function () {

win.addEventListener("resize", function () {

clearTimeout(tid);

tid = setTimeout(setRem, 300)

}, false);

win.addEventListener("pageshow", function (e) {

if (e.persisted) {

clearTimeout(tid);

tid = setTimeout(setRem, 300)

}

}, false);

if (doc.readyState === "complete") {

doc.body.style.fontSize = lib.baseFont * dpr + "px"

} else {

doc.addEventListener("DOMContentLoaded", function (e) {

doc.body.style.fontSize = lib.baseFont * dpr + "px"

}, false)

}

setRem();

docEl.setAttribute("data-dpr", dpr)

}

})(window, window["adaptive"] || (window["adaptive"] = {}));

window['adaptive'].desinWidth = 750;// 设计图宽度

window['adaptive'].baseFont = 12;// 没有缩放时的字体大小

window['adaptive'].maxWidth = 540;// 页面最大宽度 默认540

window['adaptive'].init();// 调用初始化方法

其他主流手机都没有问题

正常是应该是

6d531f89e6ca53eb6c2a5ec5254cf7eb.png

在线求解,加急

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值