Как предотвратить масштабирование CTRL и колеса прокрутки / трекпада во Flutter Web?

Проблема

Если я использую CTRL + колесо прокрутки или щепотку для увеличения с помощью трекпада в Chrome (Windows), я вижу это странное поведение:

Где веб-приложение Flutter изменяет размер, но при этом оставляет артефакты.

Пример использования

Если я хочу переопределить прокрутку для увеличения / масштабирования трекпада, чтобы использовать его в моем веб-приложении Flutter для увеличения, например, холста, это не позволяет мне сделать это. Flutter не препятствует этому поведению по умолчанию, даже когда я реагирую на жесты масштабирования.

Итак, как мне предотвратить это?

См. также:  Как получить атрибуты сюжета в Plots.jl
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. creativecreatorormaybenot

    Этого можно просто предотвратить с помощью HTML DOM JavaScript:

    // This prevents zooming in using CTRL + mouse wheel.
    // See https://stackoverflow.com/a/67039291/6509751.
    document.addEventListener('wheel', function(e) {
      e.ctrlKey && e.preventDefault();
    }, {
      passive: false,
    });
    

    Просто добавьте это в тег <body> файла index.html вашего веб-приложения Flutter:

    <script>
      // This prevents zooming in using CTRL + mouse wheel.
      // See https://stackoverflow.com/a/67039291/6509751.
      document.addEventListener('wheel', function(e) {
        e.ctrlKey && e.preventDefault();
      }, {
        passive: false,
      });
    </script>
    
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: