【技术支持】关于html中移动端innerwidth的问题

首先看问题

移动端web相关

屏幕是375*667

html 复制代码
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0" /> -->
        <meta name="viewport" content="width=device-width, initial-scale=2.0" />
        <title>Document</title>
        <style>
            * {
                margin: 0;
            }
            #test {
                height: 100px;
                background-color: aquamarine;
            }
        </style>
    </head>
    <body>
        <div id="test"></div>
        <script>
            let div = document.getElementById("test");
            console.log(window.innerWidth); //375
            console.log(document.documentElement.clientWidth); //375
            div.style.width = 970 + "px";
            console.log(window.innerWidth); //971
            console.log(document.documentElement.clientWidth); //375
        </script>
    </body>
</html>

此代码在桌面端正常,在移动端有些异常,移动端的window.innerWidth不是视口大小,会变化

解决办法就是<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0" />,添加user-scalable=0

相关推荐
Escape1 分钟前
为什么你的 AI 越聊越傻?从 Token 到 Agent,彻底搞懂 AI Agent的秘密㊙️
前端·人工智能·后端
李明卫杭州36 分钟前
Vue3 响应式概念 ↔ React 对应方案(类组件与函数组件)对照笔记
前端·vue.js·react.js
windliang38 分钟前
Claude Code 源码分析(二):CC 的心脏 queryLoop Agent主循环
前端·ai编程·claude
Revolution6144 分钟前
reactive 对象重新赋值后,表单为什么没有恢复默认值
前端·vue.js·面试
米饭同学i1 小时前
微信小程序 input maxlength 遇上输入法拼音被截断?这是最完整的解决方案
前端
董员外1 小时前
RAG 系统进化论(二):Naive RAG,检索增强生成的最小闭环
前端·人工智能·后端
JasonMa1531 小时前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js
脾气有点小暴1 小时前
ECharts 伪 3D 柱状图完整注释 + 实现原理说明
前端·3d·信息可视化·vue·echarts
掘金一周1 小时前
看看大家每月的成本有多少 | 沸点周刊 7.30
前端·人工智能·后端
ji_shuke1 小时前
从零深入:基于 Playwright + Pytest + Allure 的企业级 Web 端到端自动化测试框架实战
前端·自动化测试·docker·jenkins·pytest·allure·playwright