更改浏览器缩放级别

Jou*_*key 91 javascript browser zoom

我需要在我的网站上创建2个按钮来改变浏览器缩放级别(+)( - ).由于图像大小和布局问题,我正在请求浏览器缩放而不是css缩放.

嗯,这有可能吗?我听说过相互矛盾的报道.

Eem*_*ola 38

我想说在大多数浏览器中都不可能,至少没有一些额外的插件.在任何情况下,我都会尽量避免依赖浏览器的缩放,因为实现方式不同(有些浏览器只能缩放字体,有些浏览器也会缩放图像等等).除非你不太关心用户体验.

如果您需要更可靠的缩放,请考虑使用JavaScript和CSS或可能在服务器端缩放页面字体和图像.可以通过这种方式解决图像和布局缩放问题.当然,这需要更多的工作.


Vij*_*jey 30

试试这是否适合您.这适用于FF,IE8 +和chrome.else部分适用于非firefox浏览器.虽然这会为您提供缩放效果,但它实际上并不会在浏览器级别修改缩放值.

    var currFFZoom = 1;
    var currIEZoom = 100;

    $('#plusBtn').on('click',function(){
        if ($.browser.mozilla){
            var step = 0.02;
            currFFZoom += step; 
            $('body').css('MozTransform','scale(' + currFFZoom + ')');
        } else {
            var step = 2;
            currIEZoom += step;
            $('body').css('zoom', ' ' + currIEZoom + '%');
        }
    });

    $('#minusBtn').on('click',function(){
        if ($.browser.mozilla){
            var step = 0.02;
            currFFZoom -= step;                 
            $('body').css('MozTransform','scale(' + currFFZoom + ')');

        } else {
            var step = 2;
            currIEZoom -= step;
            $('body').css('zoom', ' ' + currIEZoom + '%');
        }
    });
Run Code Online (Sandbox Code Playgroud)

  • 这是CSS缩放 (21认同)
  • 你必须有 jquery 1.8.3 或 jquery migrate 插件(才能使用 $.browser) (2认同)

小智 25

可能在IE和Chrome中虽然它在firefox中不起作用:

<script>
   function toggleZoomScreen() {
       document.body.style.zoom = "80%";
   } 
</script>

<img src="example.jpg" alt="example" onclick="toggleZoomScreen()">
Run Code Online (Sandbox Code Playgroud)

  • Jourkey明确要求*non*CSS zoom. (8认同)
  • 这只是在内部更改内联的CSS缩放值,这与问题的内容完全相反. (3认同)
  • 根据 MDN 的说法,这是非标准的,不建议在生产中使用。来源:https://developer.mozilla.org/en-US/docs/Web/CSS/zoom (2认同)

Dmi*_*nov 9

你可以使用CSS3缩放功能,但我还没有用 jQuery测试它.现在试试,让你知道.更新:测试它,工作,但它很有趣

  • 自 2021 年 1 月起可在 Chrome 中使用。可以在此处检查其他兼容性:https://developer.mozilla.org/en-US/docs/Web/CSS/zoom 显然不推荐,但适合快速破解 (2认同)