HTML 页面禁止缩放功能

页面禁止缩放

代码如下:

js 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1.0,  user-scalable=no;">
    <meta name="theme-color" content="#000000">
    <title>页面禁止缩放功能</title>
  </head>
  <!-- 禁止鼠标右键 oncontextmenu="return false"-->
  <body oncontextmenu="return false">
    <noscript>
      You need to enable JavaScript to run this app.
    </noscript>
    <script>
    const keyCodeMap = {
        // 91: true, // command
        61: true,
        107: true, // 数字键盘 +
        109: true, // 数字键盘 -
        173: true, // 火狐 - 号
        187: true, // +
        189: true, // -
    };
    // 覆盖ctrl||command + '+'/'-'
    document.onkeydown = function (event) {
        const e = event || window.event;
        const ctrlKey = e.ctrlKey || e.metaKey;
        if (ctrlKey && keyCodeMap[e.keyCode]) {
            e.preventDefault();
        } else if (e.detail) { // Firefox
            event.returnValue = false;
        }
    };
    // 禁止鼠标滑动缩放页面
    document.body.addEventListener('wheel', (e) => {
        if (e.ctrlKey) {
            if (e.deltaY < 0) {
                e.preventDefault();
                return false;
            }
            if (e.deltaY > 0) {
                e.preventDefault();
                return false;
            }
        }
    }, { passive: false });
    // 触摸屏禁止手动缩放页面
    document.documentElement.addEventListener('touchstart', (event) => {
      if(event.touches.length > 1) {
        event.preventDefault();
      }
    },{
      passive: false
    }) 
    </script>
  </body>
</html>
相关推荐
kmblack122 分钟前
javascript计算年龄
开发语言·javascript·ecmascript
甲维斯30 分钟前
测一波Kimi K2.7,消耗一周配额!
前端·人工智能·游戏开发
Dick50730 分钟前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人
xiaofeichaichai1 小时前
前端安全 XSS 与 CSRF
前端·安全·xss
JS菌1 小时前
Skills 动态加载系统:让 AI Agent 按需获取领域知识
前端·人工智能·后端
weedsfly1 小时前
Sass 代码复用完全指南:从变量到模块化
前端
张拭心1 小时前
Android 17 新特性:后台音频交互限制加强
android·前端
张拭心1 小时前
Android 17 新特性:ProfilingManager 新触发器
android·前端
黄敬峰2 小时前
从 XMLHttpRequest 到 JSON 模拟:打通前后端通信的任督二脉
javascript