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>
相关推荐
牧码岛20 小时前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
Bigger20 小时前
😮‍💨 有了 AI 之后,我怎么感觉反而更累了?
前端·aigc·ai编程
Dxy123931021620 小时前
HTML中使用Canvas动态图形渲染:解锁Web交互新维度
前端·html·图形渲染
西陵20 小时前
如何实现 Claude 生成式 UI?一套可落地的工程方案
前端·人工智能·ai编程
FlyWIHTSKY20 小时前
Vue 3 + 原生 CSS Float
前端·css·vue.js
energy_DT20 小时前
2026海上钻井平台可视化运维:红外热成像、超声波、AI视频巡检、数字孪生
前端
ONLYOFFICE20 小时前
如何将 Word 集成到 Web 应用程序? 5 种方法详解与对比
前端·word·onlyoffice
533_20 小时前
[pinia] vue3中监听pinia值的变化
前端·javascript·vue.js
AlenLi20 小时前
JavaScript - 相对实用的Axios二次封装
前端·javascript
一叶飘零晋20 小时前
【(二)Electron 使用之常用技巧】
javascript·electron·ecmascript