2009-07-21 3 views
1

Y at-il un moyen de détecter les clics (ou mousedown, mouseup) sur les objets Flash?Détection d'un événement "Click" Flash dans JavaScript à travers les navigateurs

J'ai essayé:

  • Fixation du 'mouseup', 'mousedown' et 'cliquez sur' événements à l'objet Flash à l'aide attachEvent/addEventListener
  • fixer directement le 'onmouseup', 'onMouseDown' , 'onclick' événements en ligne sur l'objet flash
  • commutation de l'événement 'bouillonnant' à l'événement 'capture' (ne fonctionne que dans Firefox/Safari)

J'ai besoin que cela fonctionne dans IE6 +, Firefox 2+, et Safari 3+.

Merci pour toute aide! -Dave

Répondre

0

Possédez-vous les objets flash?

Nous avons implémenté des rappels de Flash vers JavaScript lorsque le flash détecte les clics. Mais nous possédons l'application flash et pouvons gérer l'interaction.

+0

j'oublié de mentionner, nous ne possédons pas les objets Flash. Nous essayons de détecter les clics sur la publicité display. –

0

Utilisez le YAHOO yui.

If (YAHOO.deconcept.SWFObjectUtil.getPlayerVersion().major == 0) { 
    alert("error"); 
} 
6

J'ai trouvé ce à 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> 

Il fonctionne pour mes besoins =)

Questions connexes