【问题标题】:AS3 ExternalInterface call using jquery使用 jquery 的 AS3 ExternalInterface 调用
【发布时间】:2010-12-24 00:46:00
【问题描述】:

我正在使用 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)

但仍然没有成功。有人在这里有什么想法吗?

【问题讨论】:

  • 你有展示这个的示例页面吗? .get(0) 为我工作

标签: jquery flash actionscript-3 externalinterface


【解决方案1】:
var app = $('#ApplicationID')[0] 

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

应该和

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

【讨论】:

  • 我的 .get(0) 不好,它确实有效,但我调用了错误的函数
【解决方案2】:

当你使用$("#ApplicationID") 时,你会得到一个 jQuery 对象。

这就是它不起作用的原因。但是$("#ApplicationID").get(0) 实际上应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    相关资源
    最近更新 更多