在JavaScript中检测Flash对象的点击

3
是否有一种方法让JavaScript/jQuery知道Flash对象何时被点击(并且仍然使Flash处理点击)?
我尝试在对象上放置一个表格,使用position:fixedz-index,并将对象设置为param name='wmode' value='transparent',因此我可以使用jQuery的click()检测哪个列被点击,但是JavaScript从未拦截到点击事件(Chromium Linux)。
是否有其他方法可以实现这一点?

1
请参考以下链接:https://dev59.com/K3M_5IYBdhLWcg3wSBAU - Marty
https://dev59.com/N1jUa4cB1Zd3GeqPNQR1#6276394 - Ryan Lester
2个回答

10

感谢Marty Wallace和Darwin!

<div id='flash'>
<object>
<param name='wmode' value='transparent' />
<embed src='foo.swf' wmode=transparent allowfullscreen='true' allowscriptaccess='always'>
</embed>
</object>
</div>

<div id='output'></div>

<script type='text/javascript'>
$('#flash').mousedown(function (e){
    $('#output').append('<br>X: ' + e.pageX + ' ; Y: ' + e.pageY);
});
</script>

在测试后,Flash对象上任何点击的XY坐标将被准确地打印到屏幕上,并且与Flash对象的鼠标交互将正常进行。


这会使闪存失去其背景。 - baaroz

0

现在已经不相关了:

只有在使用 ExternalInterface 调用时才能访问 Flash 源代码。这也是 Flash 在 Web 上被认为是邪恶的原因之一。


我想这更多的是一个插件模型/浏览器问题,而不是一个特定的Flash问题。不过也可能我错了。 - Neverbirth
https://dev59.com/N1jUa4cB1Zd3GeqPNQR1#6276394 - Ryan Lester

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接