代码之家  ›  专栏  ›  技术社区  ›  BefittingTheorem

使用jquery调用as3外部接口

  •  7
  • BefittingTheorem  · 技术社区  · 15 年前

    我正在使用外部接口调用嵌入在HTML页面中的Flash应用程序。 以下代码工作正常(我正在使用按钮进行测试):

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

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

    <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 回复  |  直到 15 年前
        1
  •  10
  •   PetersenDidIt    15 年前
    var app = $('#ApplicationID')[0] 
    

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

    应该做同样的事情

    var app = document.getElementById('ApplicationID')
    
        2
  •  5
  •   jitter    15 年前

    当你使用 $("#ApplicationID") 您将得到一个jquery对象。

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