通过JS控制页面缩放比例,只允许放大到200%和缩小到100%,源码如下:
const keyCodeMap = {
// 91: true, // command
61: true,
107: true, // 数字键盘 +
109: true, // 数字键盘 -
173: true, // 火狐 - 号
187: true, // +
189: true, // -
};
// 覆盖[ctrl]command + [+]/[-]
document.onkeydown = function (event) {
//ratio = window.outerWidth / window.innerWidth;
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.addEventListener('wheel', (e) => {
if (e.ctrlKey|| e.metaKey) {
if (e.deltaY < 0) {
document.getElementsByTagName('body')[0].style.zoom=2;
e.preventDefault();
return false;
}
if (e.deltaY > 0) {
document.getElementsByTagName('body')[0].style.zoom=1;
e.preventDefault();
return false;
}
}
}, { passive: false });