js采用覆盖键、覆盖鼠标滑动事件实现禁止网页通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放
一、兼容电脑端的禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放
const keyCodeMap = {// 91: true, // command61: true,107: true, // 数字键盘 +109: true, // 数字键盘 -173: true, // 火狐 - 号187: true, // +189: true, // -};
二、覆盖ctrl||command + ‘+’/‘-’
// 覆盖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) { // Firefoxevent.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 });
四、完整代码示例
/*** 采用覆盖键、覆盖鼠标滑动事件;禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放* */
window.onload = function () {/*** 兼容电脑端的禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放* */const keyCodeMap = {// 91: true, // command61: 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) { // Firefoxevent.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 });/*** 兼容iOS10以上Safari浏览器无法禁止缩放的解决方案* */// 阻止双击放大var lastTouchEnd = 0;document.addEventListener('touchstart', function (event) {if (event.touches.length > 1) {event.preventDefault();}});document.addEventListener('touchend', function (event) {var now = (new Date()).getTime();if (now - lastTouchEnd <= 300) {event.preventDefault();}lastTouchEnd = now;}, false);// 阻止双指放大document.addEventListener('gesturestart', function (event) {event.preventDefault();});
};
相关文章:
js采用覆盖键、覆盖鼠标滑动事件实现禁止网页通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放
一、兼容电脑端的禁止通过 ctrl /- 和 ctrl 滚轮 对页面进行缩放 const keyCodeMap {// 91: true, // command61: true,107: true, // 数字键盘 109: true, // 数字键盘 -173: true, // 火狐 - 号187: true, // 189: true, // -};二、覆盖ctrl||command ‘’/‘-’ // 覆…...
某客户Oracle RAC无法启动故障快速解决
某日,9:50左右接到好友协助需求,某个客户Oracle RAC无法启动,并发过来一个报错截图,如下: 和客户维护人员对接后,远程登录服务端进行故障分析。 查看hosts信息,首先进行心跳测试,测…...
【计算机网络 - 基础问题】每日 3 题(二十八)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...
探索甘肃非遗:Spring Boot网站开发案例
1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前&#…...
产品管理- 互联网产品(6):产品测试
可用性测试 招募有代表性用户作为测试代表参与者,评估某产品符合特定可用性及符合程度。以具有代表性的用户为测试样本。 测试中多关注用户表情与动作。多鼓励与测试的用户更多的操作以用户角度发现问题。同时要做好询问工作,耐心聆听用户的意见&#x…...
奖金高达 110 万元,Spatial Joy 2024 全球 AR 应用开发大赛启动
今年是AR应用开发大赛第三届,恰逢Rokid成立十周年,我们推出全新的大赛品牌“Spatial Joy”,引领开发者享受开发乐趣,为其打造充满挑战和惊喜的开发之旅,逐渐成为空间计算时代全球最大AR应用开发大赛。回顾大赛发展&…...
git add成功后忘记commit的文件丢了?
本文目标:开发人员,在了解git fsck命令用法的条件下,进行git add成功但由于误操作导致丢失的文件找回,达到找回丢失文件的程度。 文章目录 1 痛点2 解决方案3 总结/练习 1 痛点 开发过程中,分支太多(基线分…...
Python Web 开发中的DevOps 实践与自动化运维
Python Web 开发中的DevOps 实践与自动化运维 📚 目录 🔧 基础设施即代码(IaC) 使用 Terraform、AWS CloudFormation 实现基础设施即代码使用 Python 进行云服务资源的管理与自动化配置编写和部署基础设施的自动化脚本 …...
探索私有化聊天软件:即时通讯与音视频技术的结合
在数字化转型的浪潮中,企业对于高效、安全、定制化的通讯解决方案的需求日益迫切。鲸信,作为音视频通信技术的佼佼者,凭借其强大的即时通讯与音视频SDK(软件开发工具包)结合能力,为企业量身打造了私有化聊天…...
性能调优知识点(mysql)三
SQL底层执行原理 MySQL的内部组件结构:大体来说,MySQL 可以分为 Server 层和存储引擎层store两部分 Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数…...
TinyWebSever项目面试题整理
TinyWebSever项目面试题整理 1.为什么要做这样一个项目? 满足高并发和高性能需求:现代Web应用面对大量用户,Web服务器需要高效处理并发连接。比如通过线程池、非阻塞I/O、事件驱动机制(如epoll),Web服务器…...
维修保养记录接口-维修保养记录API-汽车接口
维修保养记录接口的使用主要涉及到API对接和在线查询两种方式。以下是详细的使用步骤和注意事项: 一、API对接 注册与申请: 首先,你需要在提供维修保养记录接口的平台(如挖数据平台、第三方数据服务商等)进行注册&…...
基于 RealSense D435相机实现手部姿态检测
基于 RealSense D435i相机进行手部姿态检测,其中采用 Mediapipe 进行手部检测,以下是详细步骤: Mediapipe 是一个由 Google开发的开源框架,专门用于构建多媒体处理管道,特别是计算机视觉和机器学习任务。它提供了一系列…...
linux 下mailx 的使用。发送短信
1. 安装 mailx yum install -y mailx 2.请求数字证书 163 邮箱 mkdir -p /root/.certs/ ####创建目录,用来存放证书 echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne /-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p >…...
把网易云音乐的网页源码复制出来,粘贴在hbuilder中,运行于浏览器,为什么没有任何内容显示?
在将网易云音乐的网页源码复制并粘贴到HBuilder中后,如果运行于浏览器时没有任何内容显示,这可能是由于以下几个原因造成的: 1. 外部资源加载问题 资源路径错误:网易云音乐的网页源码中可能包含大量的外部资源链接,如CSS、JavaScript文件、图片等。当这些资源链接的路…...
excel怎么转换json
如何将 Excel 转换为 JSON 方法一:使用内置函数 在 Excel 中选择要转换的数据范围。 转到“数据”选项卡 > “获取外部数据”组 > “自其他来源” > “JSON”。 在“从文件”对话框中,选择要保存 JSON 文件的位置,然后单击“导入”…...
二、认识大模型
认识大模型 什么是大模型?发展趋势AGI是不是泡沫大模型对比【时效】大模型特点大模型技术原理向量化除了向量化,大模型还具有特征提取特点 总结结语 什么是大模型? 大模型是大规模语言模型(Large Language Model)的简…...
2024年【电工(高级)】考试题及电工(高级)考试内容
题库来源:安全生产模拟考试一点通公众号小程序 电工(高级)考试题根据新电工(高级)考试大纲要求,安全生产模拟考试一点通将电工(高级)模拟考试试题进行汇编,组成一套电工…...
Unity中分辨率适配
在Unity中,分辨率适配问题是一个常见的挑战,尤其是在开发跨平台游戏时。为了确保你的游戏在不同设备上都能良好显示,以下是一些解决方案和最佳实践: 1. 使用Canvas Scaler 在UI的Canvas组件中,设置 UI Scale Mode …...
图像处理基础知识点简记
简单记录一下图像处理的基础知识点 一、取样 1、释义 图像的取样就是图像在空间上的离散化处理,即使空间上连续变化的图像离散化, 决定了图像的空间分辨率。 2、过程 简单描述一下图象取样的基本过程,首先用一个网格把待处理的图像覆盖,然后把每一小格上模拟图像的各个…...
3步诊断Reloaded-II模组依赖无限下载循环:新手友好修复指南
3步诊断Reloaded-II模组依赖无限下载循环:新手友好修复指南 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 如果你在使用Reloaded-I…...
Windows安卓应用安装神器:APK Installer完整使用指南
Windows安卓应用安装神器:APK Installer完整使用指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法运行安卓应用而烦恼吗ÿ…...
APK安装器完整指南:在Windows上轻松安装安卓应用的终极方案
APK安装器完整指南:在Windows上轻松安装安卓应用的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想在Windows电脑上直接运行手机应用&…...
数说故事解读AI品牌心智:让品牌被AI看见、推荐与信任
当AI全面进入商业决策、智能体成为企业标配,品牌增长逻辑正在发生底层重构:品牌不再只是面对消费者,更需要被AI识别、理解、推荐与信任。数说故事在2026 D3智慧增长大会上提出全新观点——AI品牌心智,将成为AI共生时代品牌最重要的…...
告别盲选!深入解读5G NR中UCI偏置值(beta_offset)的配置策略与索引选择
5G NR中UCI偏置值配置的工程实践指南 在5G新空口(NR)系统中,上行控制信息(UCI)通过物理上行共享信道(PUSCH)传输时,其资源分配直接影响到系统性能和用户体验。作为网络优化工程师,我们经常需要面对各种复杂的配置场景,而UCI偏置值…...
2025 - 2026年国资跑步入场脑机接口,重新定义游戏规则!
突发!国资入场脑机接口赛道2025 - 2026年,脑机接口赛道的资本格局悄然生变。从IT桔子融资数据来看,国资/政府基金密集出现在近一年的轮次中:上海国投先导、国投创合跟投阶梯医疗5亿战略融资;浦东创投、张江科投联手投资…...
3个真实问题告诉你:DdddOcr如何成为你的免费离线验证码识别助手
3个真实问题告诉你:DdddOcr如何成为你的免费离线验证码识别助手 【免费下载链接】ddddocr 带带弟弟 通用验证码识别OCR pypi版 项目地址: https://gitcode.com/gh_mirrors/dd/ddddocr 当你在自动化测试、数据采集或系统集成中遇到验证码时,是否曾…...
【OpenClaw从入门到精通】第78篇:OpenClaw安全防护实测——360龙虾保 vs 奇安信安全伴侣全维度对比(2026万字实战版)
摘要:2026年OpenClaw爆发式普及,全球公网暴露实例超58万个,7个高危CVE漏洞接踵而至,企业私自部署的“裸奔”智能体成为内网安全重灾区。在此背景下,360与奇安信两大安全巨头同步推出专属防护方案——360龙虾保与奇安信安全伴侣。本文从技术架构、核心能力、部署实操、场景…...
3分钟学会离线语音转文字:TMSpeech让你的会议记录不再遗漏
3分钟学会离线语音转文字:TMSpeech让你的会议记录不再遗漏 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 你是否经常因为会议内容太多记不住而焦虑?是否担心网络语音识别会泄露你的隐私&…...
从一次失败的模型交付说起:我是如何用random_state拯救项目复现的
从一次失败的模型交付说起:我是如何用random_state拯救项目复现的 那是一个周五的下午,团队群里的消息突然炸开了锅。"你确定这是同一个模型?测试集AUC从0.92跌到0.68了!"看着同事发来的对比截图,我的后背瞬…...
