Замораживание прокрутки колесика мыши sIFR в Firefox

Я начал использовать sIFR для сайта на работе, все работает очень хорошо, кроме одного.

Когда я прокручиваю веб-страницу колесиком мыши, она перестает прокручиваться, когда указатель находится на объекте flash. Похоже, что объект-вспышка крадет фокус, когда наведен на него указатель мыши.

Я столкнулся с этой проблемой только в Firefox, Safari и IE7 не имел этой проблемы с прокруткой колесика мыши.

Должен быть способ исправить это ... Я видел, что на Vimeo прокрутка колесика мыши работает, даже если мышь находится над флэш-видео. Пример здесь: http://vimeo.com/3280159

заранее спасибо


person Community    schedule 06.05.2009    source источник
comment
Какую ОС вы используете? Версия Flash? Версия sIFR?   -  person Wolfr    schedule 06.05.2009
comment
Я использую Windows XP, flash player 10,0,22,87 и sIFR версии 3, ревизия 436. Я также пробовал изменить wmode flash-объекта на прозрачный, что на самом деле решает проблему в Firefox, но проблемы происходит в IE7.   -  person    schedule 06.05.2009
comment
Вы используете какой-то сброс CSS? И если да, то какой? Некоторые сбросы CSS слишком либеральны, а то, что они сбрасывают, вызывает всевозможные проблемы несовместимости с браузером (особенно сброс с помощью универсального селектора *)   -  person Wolfr    schedule 06.05.2009
comment
Да, я использую сброс CSS Эрика Мейера. Но универсальный селектор не используется, а элемент объекта является частью сброса. вот часть сброса CSS, в которой упоминается тег объекта: (см. следующий комментарий)   -  person    schedule 06.05.2009
comment
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, набор полей, форма, метка, легенда, таблица, заголовок, tbody, tfoot, thead, tr, th, td {маржа: 0; отступ: 0; граница: 0; контур: 0; размер шрифта: 100%; выравнивание по вертикали : baseline; background: transparent} что первая часть сброса.   -  person    schedule 06.05.2009


Ответы (2)


Я нашел решение, не самое лучшее, но оно работает ...

Я добавил условие в функцию замены sIFR файла конфигурации. Я использую jQuery, чтобы проверить, какой браузер используется, если это IE: wmode = window, иначе, если это любой браузер, wmode = transparent

var myfont = { src: '/sifrfont.swf' };
sIFR.activate(myfont );
sIFR.replace(myfont , {
  selector: 'h1',
  wmode: ($.browser.msie)?'window':'transparent',
  css: '.sIFR-root { color: #3e2616; font-size: 50; leading:0;letter-spacing: -2; display: inline;}'
});

Я тестировал это в Windows XP со следующими браузерами: Firefox 3, Safari, IE6, IE7 и Google Chrome.

person Community    schedule 06.05.2009
comment
Это решило проблему для меня. Это не идеально, но предпочтительнее ответа, предлагающего удалить обработчик событий колеса прокрутки из источника AS3 sifr по причинам, подробно описанным в комментарии к этому ответу. - person C.O.; 30.05.2011

При использовании версии 3 в последнее время возникла та же проблема в большинстве браузеров, и самым простым решением, которое мы нашли, было закомментировать строку 201 в sIFR.as: Mouse.addListener ({onMouseWheel: function () {sIFR.instance.blur ()} }); Затем повторно опубликуйте свой файл .swf.

person F.Pole    schedule 11.05.2011
comment
этот шлюз обычно работает, но удаление этого метода приводит к уродливому мерцанию заголовков, замененных sifr, и т. д. при прокрутке в Safari. В конце концов я использовал решение, указанное выше. - person C.O.; 30.05.2011