希望这对某些人来说真的很简单,但我是一个新手,正在尝试学习如何从嵌入式Flash swf连接到我网站上的JQuery。我试图先做一个简单的例子来测试Flash和JQuery之间的连接。。。
我已经在我的页面上嵌入了一个swf。当我在Flash中单击我的按钮时,我希望它连接到一个JQuery函数,该函数会生成一个弹出警报,上面写着“hello world!”
下面是我的JQuery函数(我需要命名该函数):
function helloWorld() {
alert(\'Hello World\');
}
我在Flash中的按钮上有一个eventlistener(我测试并使用它),它试图调用以下内容:
function AddToBasket(event:MouseEvent):void{
var alert:URLRequest = new URLRequest("javascript:helloWorld();");
navigateToURL(alert);
}
当我在Chrome中“inspect element”时,我可以看到JQuery在那里,但当我单击我的按钮时,不会出现弹出警报。我误解了一些非常基本的东西,如果有任何帮助,我们将不胜感激!!!
我的Flash SWF是使用Kimili Flash Embed添加到我的Wordpress页面的,我将其添加到我的WP页面,如下所示:
[kml_flashembed movie="http://www.example.co.uk/upload/ImageUploader.swf" allowscriptaccess="samedomain" height="500" width="728" /]
以下AS3确实会生成弹出窗口,但本练习的重点是在Flash之外调用JQuery:
function AddToBasket(event:MouseEvent):void{
var alert:URLRequest = new URLRequest("javascript:alert(\'Hello World!\')"); //"javascript:helloWorld();"
navigateToURL(alert, "_self");
}
谢谢各位
院长
最合适的回答,由SO网友:Dean Rowe 整理而成
是kimili嵌入导致了问题,以不同的方式嵌入,现在正在工作。谢谢你的帮助!。
最终代码:
<script type="text/javascript">
function helloWorld() {
alert(\'Hello World function yeah\');
}
</script>
和AS3:
function AddToBasket(event:MouseEvent):void{
ExternalInterface.call("helloWorld");
}
和嵌入式swf代码:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="macromedialinkremoved/pub/shockwave/cabs/flash/swflash.cab" width="728" height="500" id="ImageUploader">