Force page zoom at 100% with JS

前端 未结 7 956
旧巷少年郎
旧巷少年郎 2020-11-30 00:51

I created a little game in Canvas, but I have a problem. Some users who have the default zoom set to something other than 100% can\'t see the entire game page.

I ha

7条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-30 01:06

    For mobile browsers, @Linden's answer worked the best for me on Chrome. However on mobile FF it needed some additional tweaks, I came to version that works in both browsers:

    let restore = $('meta[name=viewport]')[0];
    if (restore) {
        restore = restore.outerHTML;
    }
    $('meta[name=viewport]').remove();
    $('head').append('');
    if (restore) {
        setTimeout(() => {
            $('meta[name=viewport]').remove();
            $('head').append(restore);
        }, 100); // On Firefox it needs a delay > 0 to work
    }
    

    Also, the restored page viewport tag must have explicit maximum-scale to allow zooming on Firefox after resetting, so I set it initially to this:

    
    

    Tested on mobile Chrome 76.0 and mobile Firefox 68.1.

提交回复
热议问题