Ped*_*dro 35 html javascript flash onclick
我有一个嵌入flash电影里面的一个div,我在主div中放了一个javascript onclick事件处理程序,但是没有抓到点击,有什么问题?
码:
<div id="top-box-player" onclick="alert('Hi Bananas!');">
<object width="400" height="300">
<param name="movie" value="general.swf">
<embed src="./swf/general.swf" width="400" height="300">
</embed>
</object>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 86
我在http://progproblems.blogspot.com/2009/08/javascript-onclick-for-flash-embeded.html找到了这个
wmode为transparent.这允许包含flash的对象接收javascript onclick.onmousedowninsted onclick.尽管使用wmode transparent,一些浏览器仍然不会打电话onclick,但他们会打电话onmousedown.代码如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
它适合我的需要=)
cwa*_*ole 21
最好将所有swf视为具有无穷大的z阶.Flash位于顶部,可以做很少的事情来阻止它.另一方面,如果您可以访问SWF本身的代码,或者如果您可以使用另一个swf来加载当前的swf,那么您将能够使用几个不同的Flash命令来处理页面的JavaScript .(ExternalInterface是你最好的选择).
//This is what your AS code should look like:
import flash.external.ExternalInterface;
import flash.events.MouseEvent;
root.addEventListener( MouseEvent.CLICK, useExternal, true );
function useExternal( event:MouseEvent):void
{
//swfClickFunction is defined in JavaScript
ExternalInterface.call( "swfClickFunction" );
}
Run Code Online (Sandbox Code Playgroud)
使用onmousedown而不是onclick的另一种替代解决方案由Darwin提供.