AS3 ExternalInterface вызов с использованием jquery - PullRequest
7 голосов
/ 07 декабря 2009

Я звоню во флэш-приложение, встроенное в html-страницу, используя ExternalInterface. Следующий код работает нормально (я использую кнопку для проверки):

$(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 ]

10 голосов
/ 07 декабря 2009
var app = $('#ApplicationID')[0] 

или

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

должен сделать то же самое, что и

var app = document.getElementById('ApplicationID')
5 голосов
/ 07 декабря 2009

Когда вы используете $("#ApplicationID"), вы получите объект jQuery.

Вот почему это не работает. Но $("#ApplicationID").get(0) на самом деле должно работать.

...