我现在很安静,绝望。jquery flash externalinterface
我试图像许多其他人在这里得到externalinterface的事情与我的网页一起工作。 无论我做什么或如何以正确的方式更改代码都无所谓,我总是从Firefox或Chrome获得'没有方法'报告!
我试图通过jQuery通过HTML中的“play”链接触发Flash中的播放函数。我无法弄清楚,出了什么问题!
AS3.0在Flash CS6(播放声音文件 - Flash内部没有问题,正常播放):
import flash.external.ExternalInterface;
ExternalInterface.addCallback("playMusicJS", playMusic);
function playMusic(evt:MouseEvent):void {
soundChannel.stop();
soundChannel = sound.play();
soundTimer.start(); // volume levels and time
INSTPlayPause.gotoAndStop(2);
soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
INSTPlayPause.INSTPauseBTN.addEventListener(MouseEvent.CLICK, pauseMusic);
}
的Javascript(jQuery的):
$(document).ready(function() {
$('#play').click(function() {
// var flash = document.getElementById("ASPlayer"); // tried as well - no luck
var flash = $('#ASPlayer').get(0)
flash.playMusicJS();
alert("TEST");
});
});
和HTML:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="350" height="30" id="ASPlayer" title="Player">
<param name="movie" value="../_flash/TEST -ExternalInterface-.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="11.0.0.0">
<param name="expressinstall" value="../_flash/expressInstall.swf">
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="../_flash/TEST -ExternalInterface-.swf" width="350" height="30" id="ASPlayer" title="Player">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="11.0.0.0">
<param name="expressinstall" value="../_flash/expressInstall.swf">
<param name="allowScriptAccess" value="always" />
<!-- -->
<embed src="../_flash/TEST -ExternalInterface-.swf" width="350" height="30" name="ASPlayer" quality="high" wmode="opaque" >
<!-- -->
<div>
<p>Content on this page requires a newer version of Adobe Flash Player.</p>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<p><a href="#" id="play">play</a></p>
</body>
<script type="text/javascript" src="TEST.js"></script>
</html>
我认为这可能是一个DOM加载顺序问题,我尝试了很多组合以哪个顺序调用函数或者在文件中放置文件的地方,但是也没有运气!
我检查了其他用户关于该问题的大多数条目,并试用过它们,但仍然无法使用! 我欣赏任何想法或提示:)!
来自德国柏林的祝福!
谢谢你的快速回答! 1.我的脚本在那里,当我在jQuery函数中放置一个警报时,它弹出。 2.脚本包含在页面的底部。 3.只有一个jQuery库'jquery.1.8.3.min.js'包含在页面的顶部。 4.没有其他图书馆。 也许一些其他的想法(希望)? – Peter 2013-03-11 09:41:41
谢谢Dasun的努力! 我得到它现在使用swfObject工作! 但我仍然想知道,为什么它不适用于'旧学校'的实施......! – Peter 2013-03-11 14:09:00
好吧,这很好听 – Techie 2013-03-11 14:54:47