转载:https://www.cnblogs.com/dearxinli/p/7645922.html
众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable=0">即可,但是pc端确实比较麻烦,用户可以通过如下几种方式来缩放:
windows:
- ctrl + +/-
- ctrl + 滚轮
- 浏览器菜单栏
mac:
- cammond + +/-
- 浏览器菜单栏
由于通过浏览器菜单栏放大缩小属于系统软件权限,没法控制,我们着手解决ctrl/cammond + +/- 或 Windows下ctrl + 滚轮 缩放页面的情况,只能通过js来控制了。
-
<script type="text/javascript"> -
//阻止pc端浏览器缩放js代码 -
//由于浏览器菜单栏属于系统软件权限,没发控制,我们着手解决ctrl/cammond + +/- 或 Windows下ctrl + 滚轮 缩放页面的情况,只能通过js来控制了 -
$(document).ready(function () { -
// chrome 浏览器直接加上下面这个样式就行了,但是ff不识别 -
$('body').css('zoom', 'reset'); -
$(document).keydown(function (event) { -
//event.metaKey mac的command键 -
if ((event.ctrlKey === true || event.metaKey === true)&& (event.which === 61 || event.which === 107 || event.which === 173 || event.which === 109 || event.which === 187 || event.which === 189)){ -
event.preventDefault(); -
} -
}); -
$(window).bind('mousewheel DOMMouseScroll', function (event) { -
if (event.ctrlKey === true || event.metaKey) { -
event.preventDefault(); -
} -
}); -
}); -
</script>
至此,实现已结束。
如果想了解更多,那就接着看:
Reference:
stackoverflow关于组织缩放的代码:http://stackoverflow.com/questions/27116221/prevent-zoom-cross-browser
jquery event.whick源码,先取charCode(mdn说明其已被废弃)再取keyCode: https://github.com/jquery/jquery/blob/master/src/event.js#L633
下面是用juery和原生js实现的代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
|
获取当前页面浏览器的缩放大小:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
//具体实现demo:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
|
最后
以上就是现实雨最近收集整理的关于js禁止页面放大缩小至此,实现已结束。的全部内容,更多相关js禁止页面放大缩小至此内容请搜索靠谱客的其他文章。
发表评论 取消回复