2009-12-07 28 views
7

Tôi đang gọi điện thoại vào ứng dụng flash được nhúng trong trang html bằng cách sử dụng ExternalInterface. Các mã sau hoạt động tốt (Tôi đang sử dụng một nút để kiểm tra):AS3 Cuộc gọi ExternalInterface sử dụng jquery

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

Vì vậy, đây gọi vào ứng dụng tốt flash và in:

<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"> 

Nhưng khi tôi sử dụng jquery $ # phương pháp nhận được một phần tử bằng cách id, tôi nhận được một đối tượng lại khác nhau:

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

Khi tôi sử dụng này tôi nói:

app.pageUnloaded is not a function 

và sau đây được in:

[embed#ApplicationID] 

Tôi cũng đã cố gắng:

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

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

Nhưng vẫn không thành công. Có ai có ý tưởng nào ở đây không?

+0

Bạn có một trang mẫu để hiển thị này không? '.get (0)' hoạt động cho tôi – jitter

Trả lời

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

hoặc

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

nên làm điều tương tự như

var app = document.getElementById('ApplicationID') 
+0

của tôi xấu với .get (0), nó hoạt động, nhưng tôi đã gọi sai chức năng –

5

Khi bạn sử dụng $("#ApplicationID") bạn sẽ lấy lại đối tượng jQuery.

Đó là lý do tại sao nó không hoạt động. Nhưng $("#ApplicationID").get(0) thực sự sẽ hoạt động.

Các vấn đề liên quan