PC及移动端禁止用户缩放页面的实现方式
对于移动端,我们可以直接这样限制:
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0, user-scalable=no">
在PC端上:
1、禁止用户在页面上使用ctrl+鼠标滚轮和ctrl+“+”“-”进行页面缩放:
可以在index.html中增加如下代码:
<script>document.addEventListener('mousewheel', function (e) {e = e || window.event;if ((e.wheelDelta && event.ctrlKey) || e.detail) {event.preventDefault();}}, {capture: false,passive: false});document.addEventListener('keydown', function (event) {if ((event.ctrlKey === true || event.metaKey === true)&& (event.keyCode === 61 || event.keyCode === 107|| event.keyCode === 173 || event.keyCode === 109|| event.keyCode === 187 || event.keyCode === 189)) {event.preventDefault();}}, false);</script>
2、在vue项目中,还原用户的缩放操作(对用户在页面上修改浏览器样式也生效)
在App.vue中(最外层父页面)
mounted () {this.keepRatio()window.addEventListener('resize', () => {this.keepRatio()});},
在methods中,加入这样一个方法keepRatio:
methods: {keepRatio () {var ratio = 0; // 定义一个缩放比例var screen = window.screen; // 获取窗口对象var ua = navigator.userAgent.toLowerCase();if (window.devicePixelRatio !== undefined) {ratio = window.devicePixelRatio; // 像素大小的比例}else if (~ua.indexOf('msie')) {if (screen.deviceXDPI && screen.logicalXDPI) {ratio = screen.deviceXDPI / screen.logicalXDPI;}}else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {ratio = window.outerWidth / window.innerWidth; // 外部比例/内部比例:缩放比例}if (ratio) {ratio = Math.round(ratio * 100);}this.ratio = (ratio / 100).toFixed(2);document.body.style.zoom = 1 / this.ratio; // 窗口视图除以缩放比例:即缩放还原}}
PC及移动端禁止用户缩放页面的实现方式相关推荐
- 移动端禁止用户缩放页面大小尺寸
通常我们关闭移动端页面缩放是通过标签: <meta name="viewport" content="width=375,initial-scale=1,user- ...
- ios10中禁止用户缩放页面
ios10 通过js进行阻止用户缩放 window.οnlοad=function () { document.addEventListener('touchstart',function (even ...
- ios10中禁止Safari浏览器用户缩放页面
在ios10前我们能通过设置meta来禁止用户缩放页面: <meta content="width=device-width, initial-scale=1.0, maximum-s ...
- html如何禁止用户缩放,html如何禁止页面缩放
在html中,可以使用user-scalabel属性设置禁止页面缩放,只需要在mate元素中添加"user-scalabel=0"样式即可.user-scalable属性控制用户是 ...
- 文本超出多行显示省略号 移动端禁止双击缩放
文本超出两行显示省略号 移动端禁止双击缩放 单行显示省略号 overflow:hidden; text-overflow:ellipsis; white-space:nowrap 多行省略 displ ...
- 手机端与pc端页面html5,浅谈pc和移动端的响应式的使用
身为一个前端攻城狮,是不是经常遇到各种各样的响应式问题?下面我们来说一下: 1.响应式跟自适应有什么区别? 有些人可能还不知道响应式跟自适应的区别,甚至认为他们是同一个东西,其实不是的. 自适应是最早 ...
- html浏览器pc端禁止缩放,阻止pc端浏览器缩放js代码
阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上即可,但是pc端确实比较麻烦,用户可以通过如下几种方式来缩放: windows: ctrl + +/- ctrl + 滚轮 浏 ...
- html5禁止浏览器缩放网页大小 (实用)
延伸阅读:meta标签viewport详解 html5默认允许用户缩放页面,如果需要禁止缩放,我们需要将user-scalabel=0设置下,具体代码如下: <meta name="v ...
- [html] 移动端如何禁止用户手动缩放页面?
[html] 移动端如何禁止用户手动缩放页面? <meta name="viewport" content="width=device-width,initial- ...
最新文章
- 基于Matlab的声波信号处理,基于声卡和Matlab平台的语音信号增强处理系统
- EMC_AutoStart5.4安装配置之五
- PHP中几种加密形式
- DDD领域驱动实践记录
- MySQL 高级 ———— MySQL逻辑架构图简介
- python invalid literal for int_求助!运行出现错误“ValueError: invalid literal for int() ··...
- CVPR 2021 出自港中文,对抗变换提高对抗样本的可迁移性
- Security中常见的权限控制方式
- 【华为云技术分享】大数据容器化,头部玩家尝到了甜头
- python学习——函数及其参数
- 每日算法系列【LeetCode 328】奇偶链表
- 小米盒子投屏+android,使用小米盒子手机投屏电视看村晚
- python一行代码制作20款经典游戏
- ppt制作弹跳的小球动画效果_你不能错过的PPT制作酷炫弹跳的小球教程
- 基于8086方波锯齿波三角波发生器仿真、基于8086的LCD1602显示仿真设计、基于8086的LED点阵汉字流水显示设计、基于8086的LED中文显示屏显示设计-仿真设计资料【转发】
- 基于易语言的键盘监听器(仅供学习)
- 农夫过河问题(一个有趣的问题-位运算)
- 计算机文件打开方式这么还原,dat文件还原默认打开方式如何设置?还原默认打开方式的详细步骤...
- WIFI热点——bat文件创建笔记本快捷wifi技术
- chatroom项目手册