flex学習ノートExternalInterface(一)

5144 ワード

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

あるいは、JavaScriptコードをHTMLページに直接書くのではなく、外部JSファイルをインポートする方法で書くことができます.
/src/scripts.js
function sayHelloWorld() { alert("Hello World, from JavaScript"); }
------------------------/html-template/index.template.html


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


JavaScript関数にパラメータを渡すには、


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