使用ExternalInterface.call在as中调用js方法:

1.MXML代码如下:

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2.  
  3.  
  4. <mx:Application xmlns:mx=http://www.adobe.com/2006/mxml  
  5. layout="vertical" 
  6. verticalAlign="middle" 
  7. backgroundColor="white"> 
  8.  
  9. <mx:Script> 
  10.  
  11. <![CDATA[  
  12.  
  13. private function callJavaScript():void  
  14.  
  15. {  
  16.  
  17. ExternalInterface.call("sayHelloWorld");  
  18.  
  19. }  
  20.  
  21. ]]> 
  22.  
  23. </mx:Script> 
  24.  
  25. <mx:Button label="Say 'Hello World'" 
  26. click="callJavaScript();" /> 
  27.  
  28. </mx:Application> 
  29.  

2.js代码:

 
  
  1. <script language="JavaScript" type="text/javascript"> 
  2.  
  3. function sayHelloWorld()  
  4. {  
  5.  
  6. alert("Hello World, from JavaScript");  
  7.  
  8. }  
  9.  
  10. </script> 

或者,可以不用直接在HTML页中写JavaScript代码,而是以外部JS文件导入的方式:

/src/scripts.js

function sayHelloWorld() {
alert("Hello World, from JavaScript");
}

------------------------
/html-template/index.template.html

<script src="scripts.js" language="JavaScript"></script>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果想向JavaScript函数中传参,方法如下:

// JavaScript
function sayString(str) {
alert(str);
}
// ActionScript 3.0
private function callJavaScript():void {
ExternalInterface.call("sayString", "Hello World, from ActionScript");
}