// 禁用瀏覽器ctrl +- 縮放
const keyCodeMap = { // 91: true, // command 61: 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) { // Firefox event.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 }) // 禁用 瀏覽器工具欄 點擊+- 縮放頁面
// 原理:放大時,devicePixelRatio值會增大,同時等比例縮小zoom值(注意:樣式單位不能使用vw、vh適配)
const oldDpr = window.devicePixelRatio window.addEventListener('resize', (e) => {
document.querySelector('body').style.zoom = oldDpr * 1 / window.devicePixelRatio
})