概述
转载: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禁止页面放大缩小至此,实现已结束。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复