Estoy buscando un script JS para controlar el zoom del navegador.
Probé el "document.body.style.zoom" , pero esto no funciona con Firefox.
Gracias.
Afortunadamente, el nivel de zoom del navegador no se puede controlar a través de JavaScript. Es una configuración controlada por el usuario. [1]
La propiedad zoom CSS de hecho hace algo similar: no solo escala el elemento, sino que también escala su tamaño representado, lo que afecta el diseño de la página. Sin embargo, a diferencia de cambiar el nivel de zoom del navegador, la propiedad de zoom no afecta las consultas de medios (probadas en Chrome), por lo que, incluso si se aplica al elemento <html> o <body> , el resultado puede ser diferente a cambiar el zoom del navegador. El otro problema es que la propiedad de zoom no es estándar y no es compatible con varios navegadores.
Una alternativa es aplicar una transformación como transform: scale(2); o transform: scale(0.5); . Sin embargo, las transformaciones solo cambian el elemento visualmente y no el tamaño representado, por lo que también deberá manejar eso. El siguiente código parece imitar razonablemente un nivel de zoom del 50%:
:root { width: 200%; transform: scale(0.5); transform-origin: 0 0; } [1] Puede ser controlado por extensiones de navegador JS privilegiado, pero eso está fuera de discusión. También hay una configuración de etiqueta <meta> que controla el nivel de zoom, pero es solo para teléfonos inteligentes y también puede ser anulada por la configuración del navegador.