使用jquery调用AS3 ExternalInterface

时间:2009-12-07 14:15:56

标签: jquery flash actionscript-3 externalinterface

我正在使用ExternalInterface调用嵌入在html页面中的flash应用程序。 以下代码工作正常(我正在使用按钮进行测试):

$(document).ready(function(){
    $("#button").click(function(){
        var app = document.getElementById('ApplicationID')
        console.debug(app)
        app.pageUnloading()
    })
})

所以这会调用flash应用程序并打印:

<embed id="ApplicationID" width="600" height="400" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowscriptaccess="sameDomain" name="FlexMoeders" bgcolor="#cccccc" quality="high" src="ApplicationID.swf">

但是当我使用jquery $#方法获取id的元素时,我会收到一个不同的对象:

$(document).ready(function(){
    $("#button").click(function(){
        var app = $("#ApplicationID")
        console.debug(app)
        app.pageUnloading()
    })
})

当我使用它时,我被告知:

app.pageUnloaded is not a function

并打印以下内容:

[embed#ApplicationID] 

我也尝试过:

var app = $("#ApplicationID").val()

var app = $("#ApplicationID").get(0)

但仍然没有成功。有没有人有任何想法?

2 个答案:

答案 0 :(得分:10)

var app = $('#ApplicationID')[0] 

var app = $('#ApplicationID').get(0)

应该做与

相同的事情
var app = document.getElementById('ApplicationID')

答案 1 :(得分:5)

使用$("#ApplicationID")时,您将获得一个jQuery对象。

这就是为什么它不起作用。但$("#ApplicationID").get(0)实际应该有用。