2012-02-13 126 views
1

是否有可能在Flash中使用Javascript。例如,作为一个简单的测试,我尝试在单击按钮时使用Javascript的alert方法。Javascript和Flash在AS3

我正在使用AS3。可能吗?

+1

不要这么想......如果我没有记错的话,在flash中使用actionscript – 2012-02-13 23:14:34

回答

2

像Marty提到的那样,您可以使用ExternalInterface类来执行Javascript。您的选择是执行嵌入(html)页面代码中的函数并从头开始创建一个函数。因为alert是默认函数,所以可以将其名称用作call方法(的第一个参数)(ExternalInterface),并将字符串作为第二个参数。

如果你提供了一个参数,你可能想写一个函数来执行(或返回)一些东西。

btn.addEventListener(MouseEvent.CLICK, btnClicked); 
function btnClicked(e:MouseEvent):void { 
    ExternalInterface.call("alert","something"); 
    // or 
    ExternalInterface.call("function(){alert('something');}"); 
} 
1

号。Flash使用ActionScript 3的

您可以拨打同一个页面使用ActionScript的ExternalInterface类嵌入式SWF的JavaScript函数,虽然。

一个快速演示在实施ExternalInterface

if(ExternalInterface.available) 
    ExternalInterface.call("alert", "Hello!"); 

提示:除非你在this security settings panel添加项目的位置,并选中“总是允许” ExternalInterface调用不会在本地工作。