Обнаружение Flash-события «Клик» в JavaScript во всех браузерах - PullRequest
1 голос
/ 21 июля 2009

Есть ли способ, которым JavaScript может обнаружить щелчки (или mousedown, mouseup), которые происходят на объектах Flash?

Я пробовал:

  • Присоединение событий mouseup, mousedown и click к объекту Flash с использованием attachEvent / addEventListener
  • Непосредственное присоединение событий onmouseup, onmousedown, onclick, встроенных в объект Flash.
  • Переключение с «всплывающего» события на «захват» (работает только в Firefox / Safari)

Мне это нужно для работы в IE6 +, Firefox 2+ и Safari 3+.

Спасибо за любую помощь! -Dave

Ответы [ 3 ]

6 голосов
/ 15 ноября 2010

Я нашел это в http://progproblems.blogspot.com/2009/08/javascript-onclick-for-flash-embeded.html

1) Set the param wmode to transparent. This allows the object containing the flash to receive the javascript onclick.
2) Use onmousedown insted of onclick. In spite of using wmode transparent, some browsers still wont call  the onclick, but they do call onmousedown.
The code looks like this:

<div onmousedown="clickBanner(1)">
<object>
<param name="movie" value="3.swf">
<param name="wmode" value="transparent" />
<embed wmode=transparent allowfullscreen="true" allowscriptaccess="always" src="3.swf"></embed>
</object>
</div>

Это работает для моих нужд =)

0 голосов
/ 27 января 2010

Используйте YAHOO yui.

If ( YAHOO.deconcept.SWFObjectUtil.getPlayerVersion().major == 0 ) {
  alert("error");
}
0 голосов
/ 21 июля 2009

У вас есть флеш объекты?

Мы реализовали обратные вызовы из Flash в JavaScript, когда Flash обнаруживает щелчки. Но у нас есть флэш-приложение, и мы можем управлять взаимодействием.

...