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

如何使用as3运行jquery函数

  •  7
  • Tisch  · 技术社区  · 16 年前

    我正在尝试在AS3的HTML页面上运行jquery函数。

    这是我的jquery函数:

    function loadImage(imageNumber)
      {
        imageURL = '<img src="images/image' + imageNumber + '.jpg">';
        $("#imageBox").html(imageURL);
      }
    

    以下是HTML页面中我的Flash文件的设置:

    <param name="allowScriptAccess" value="always" />
    <param name="bgcolor" value="#ffffff" />    
    <embed src="links.swf" quality="high" bgcolor="#ffffff" width="320" height="242" name="links" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
    

    最后…以下是我的.swf文件中的as3脚本:

    function gotoImage1(e:MouseEvent):void {
        var jscommand:String = "loadImage(1);"
        var link:URLRequest = new URLRequest("javascript:" + jscommand + "");
        navigateToURL(link, '_self');
    }
    

    提前感谢您抽出时间来寻找,我们非常感谢您的帮助。

    致以最诚挚的问候。汤姆

    2 回复  |  直到 13 年前
        1
  •  6
  •   Ron DeVera    13 年前

    你可以使用 ExternalInterface 而是:

    if (ExternalInterface.available) {
        ExternalInterface.call('function(){ alert("test"); }');
    }
    

    文档: http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html

        2
  •  1
  •   Tisch    16 年前

    最终的解决方案是:

    function gotoImage2(e:MouseEvent):void 
    {
        if(ExternalInterface.available)
        {
            ExternalInterface.call('function(){ loadImage(2); }');
        }
    }
    

    以防万一有人想看看结局如何…