MouseWheelEvent.preventDefault. Как предотвратить прокрутку в браузере, когда swf имеет фокус

#flash #actionscript-3

#flash #actionscript-3

Вопрос:

предположим, небольшое приложение, которое подключается к серверу и отображает некоторые данные. Проблема в том, что при запуске MOUSE_WHEEL страница прокручивается. Как можно отключить прокрутку страницы на MOUSE_WHEEL из flash? Пожалуйста, не советуйте решение на стороне JS, пользователи размещают наш ccin в своих блогах / цитатах, поэтому мы не можем заставить их добавлять какие-либо JS.

Заранее благодарю вас!

Ответ №1:

Невозможно заблокировать его с помощью чистого AS3. Ваш единственный вариант — ввести JS в документ через ExternalInterface . Это не потребует от ваших пользователей добавлять что-либо на свою страницу помимо кода встраивания SWF; это просто требует, чтобы ваш код встраивания включал allowScriptAccess as sameDomain или all . Вот пример утилиты, которая позволяет это:

http://www.spikything.com/blog/index.php/2009/11/27/stop-simultaneous-flash-browser-scrolling/

Ответ №2:

Здесь я создал небольшую библиотеку, которая работает со всеми видами плагинов flash (включая chrome Pepper flash) и MAC-OS

Он состоит из одного файла AS3, и вам не нужно ничего добавлять в каталог вашего сайта (html)

Репозиторий GitHub