Настройка функции IE "Optical Zoom" с использованием Javascript / CSS - PullRequest
2 голосов
/ 06 мая 2009

Сайт, который я поддерживаю, был разработан довольно жестко с использованием пикселей для размеров шрифта, размеров, абсолютного позиционирования и т. Д.

Теперь есть запрос на добавление изменения размера шрифта пользователями. Хотя я знаю, что это невозможно без редизайна сайта с нуля с использованием относительных размеров, я обнаружил, что сайт прекрасно работает с функцией масштабирования IE7 / IE8 (Ctrl + & Ctrl -).

Вопрос в том, есть ли способ «предложить» IE открыть этот сайт с уровнем масштабирования по умолчанию (скажем, 125%), при этом сами пользователи не требуют увеличения?

Сайт используется только с IE 7+.

Ответы [ 2 ]

3 голосов
/ 06 мая 2009

Если это ваш выбор пользователей, оставьте это на усмотрение своих браузеров. Браузеры используют масштаб, который увеличивает визуализацию их страниц (IE 7 и 8, Opera, FireFox, Chrome 2.0, Safari?). Кроме того, в зависимости от того, из какой системы (разрешение экрана) исходят ваши пользователи, будет зависеть выбор масштаба. К сожалению, каждый браузер обрабатывает запоминание настроек масштабирования немного по-разному, например, запоминает Chrome для сайта, то есть является глобальным параметром для каждой новой вкладки / окна.

1 голос
/ 10 февраля 2013

Если вы действительно хотите делать то, что вы хотите, что я, конечно, не рекомендую, попробуйте что-то вроде этого:

$(function(){
    var ratio = 1;
    $(document.body).css("zoom", 1.25); // zoom the page on DOMReady

    // bring back a 'normalized' behavior keyevent zooming
    $(document).keydown(function(e){
        if(e.ctrlKey && {187:1, 189:1, 96:1}[e.which]) {
            switch(e.which){
                case 187: // ctrl +
                    ratio += 0.25;
                    break;

                case 189: // ctrl -
                    ratio -= 0.25;
                    break;

                case 96: // ctrl 0
                    ratio = 1;
            }

            $(this.body).css("zoom", ratio);

            e.preventDefault();
        }
    });
});
...