Flash AS2.0和JavaScript / jQuery(ExternalInterface)通信
发布时间:2020-12-15 07:26:43 所属栏目:百科 来源:网络整理
导读:我试图使用JS将数据发送到带有ExternalInterface的Flash AS2.0音乐播放器,除了我找不到有关ExternalInterface的好教程或指南.我希望能够通过单击 JavaScript链接更改播放器中的当前歌曲,并在页面/窗口加载时不点击,播放默认歌曲. 我不需要在闪存等中加载声音
我试图使用JS将数据发送到带有ExternalInterface的Flash AS2.0音乐播放器,除了我找不到有关ExternalInterface的好教程或指南.我希望能够通过单击
JavaScript链接更改播放器中的当前歌曲,并在页面/窗口加载时不点击,播放默认歌曲.
我不需要在闪存等中加载声音的超级复杂的答案,我只是在让JS向Flash发送任何内容时遇到很多困难,当我开始工作时 – 我是否需要将一些if / else放入闪存以确定链接是否已被点击? 谢谢 编辑继承人现在的代码: AS 2.0 import flash.external.ExternalInterface; ExternalInterface.addCallback('loadSong',null,flashFunction); function flashFunction (val) { extra = val; } JavaScript的 var flashObj = document.getElementById('VSPLAYER'); function loadSong(val) { return val } HTML <a href="javascript:loadSong('2')">Play song 2</a> <object id="VSPLAYER" type="application/x-shockwave-flash" data="vs_player.swf" width="280" height="90"> <param name="movie" value="vs_player.swf" /> <param name="allowscriptaccess" value="always" /> </object> 解决方法
在你的Flash中,最好是在第一帧中,把它放在:
ExternalInterface.addCallback('callFlashFunction',yourFlashFunction); function yourFlashFunction (arg1,arg2) { ... } 在您的Javascript中,您可以通过以下方式调用它: var flashObj = document.getElementById ('FlashObjID'); flashObj.callFlashFunction (arg1,arg2); 如果您的SWF位于不同的域中,请记住允许通过以下方式访问脚本: <object id="FlashObjID"> ... <param name="allowscriptaccess" value="always" /> ... </object> 更新(基于您的HTML): <a href="#" onclick="return jsLoadSong('2')">Play song 2</a> <object id="VSPLAYER" type="application/x-shockwave-flash" data="vs_player.swf" width="280" height="90"> <param name="movie" value="vs_player.swf" /> <param name="allowscriptaccess" value="always" /> </object> <script type="text/javascript"> var flashObj = document.getElementById ('VSPLAYER'); function jsLoadSong (val) { flashObj.loadSong (val); return false; // to prevent default link action } </script> 我试图澄清名称,以显示哪些是在Javascript中,哪些是与Flash绑定的.另请注意,在调用定义flashObj之前,您需要等到DOM加载完毕.这里,< script>标签位于< object>之后,因此它可以正常工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |