原生js H5适配它来了 保姆级教学

举报
全栈小杨 发表于 2024/11/01 20:42:53 2024/11/01
【摘要】 原生js H5适配它来了 保姆级教学

废话不说,上代码

js核心代码

1.这里面的所有750改为设计图的大小

2.不改也可以,吧设计图大小改为750

也就是手机屏想象成宽度750rem

我的方法:

        1.把psd设计图文件上传到蓝湖 然后尺寸改为750

 然后都用布局

设计图大小给多少就是多少 例如

//重点 重点 重点
function AutoPage() {
  document.documentElement.style.fontSize =
    (document.documentElement.clientWidth * 100) / 750 + "px";
  setFontSize();
}
AutoPage();
window.addEventListener("resize", AutoPage, false);
if ($(window).width() > 750) {
  document.documentElement.style.fontSize = 97.6389 + "px";
}
function setFontSize() {
  var clientWidth = document.documentElement.clientWidth,
    timer;
  console.log(clientWidth);
  if (!clientWidth) return;
  document.documentElement.style.fontSize =
    (document.documentElement.clientWidth * 100) / 750 + "px";
  if (
    window.getComputedStyle(document.getElementsByTagName("html")[0]).fontSize
  ) {
    var size = window
      .getComputedStyle(document.getElementsByTagName("html")[0])
      .fontSize.split("p")[0];
    if (size * 1.2 < (document.documentElement.clientWidth * 100) / 750) {
      document.documentElement.style.fontSize =
        (1.25 * document.documentElement.clientWidth * 100) / 750 + "px";
    }
    console.log(document.documentElement.style.fontSize);
  }
}
 
 
//附加代码 可写可不写
//Android微信中,借助WeixinJSBridge对象来阻止字体大小调整
(function () {
  if (
    typeof WeixinJSBridge == "object" &&
    typeof WeixinJSBridge.invoke == "function"
  ) {
    handleFontSize();
  } else {
    if (document.addEventListener) {
      document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
    } else if (document.attachEvent) {
      //IE浏览器,非W3C规范
      document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
    }
  }
 
  function handleFontSize() {
    // 设置网页字体为默认大小
    WeixinJSBridge.invoke("setFontSizeCallback", {
      fontSize: 0,
    });
    // 重写设置网页字体大小的事件
    WeixinJSBridge.on("menu:setfont", function () {
      WeixinJSBridge.invoke("setFontSizeCallback", {
        fontSize: 0,
      });
    });
  }
})();

附加代码可写可不写

/* ios兼容微信字体变大,页面错乱问题 */
body {
    /*重要 ios兼容微信字体变大,页面错乱问题 */
	-webkit-text-size-adjust: 100% !important;
    /*不重要*/
	background-color: #ffffff;
	background-image: url(../imges/dots.png);
	background-repeat: repeat;
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。