Thẻ lưu trữ: actionscript

flash-actionscript-goi-ham-javascript

Gọi hàm Javascript từ file flash dùng ActionScript

Bài viết này sẽ hướng dẫn bạn sử dụng ActionScript 2 và 3(AS2 – AS3) để gọi một hàm(Function) hoặc 1 lệnh JavaScript từ file flash.

  1. ActionScript 3:
    Đầu tiên bạn cần tạo một hàm JavaScript mà bạn muôn gọi ra, ví dụ:

    <script>
    function showAlert()
    {
    
    window.alert('Hi, Everyone!');
    
    }
    </script> 

    Tiếp theo bạn sử dụng đoạn ActionScript sau để gọi hàm JavaScript trên ra:

        showButton.addEventListener(MouseEvent.CLICK, this.CallJSFunction);
        function CallJSFunction(event:MouseEvent)
            {
                ExternalInterface.call("showAlert()");
            }

    Để minh họa cho ứng dụng này bạn có thể tham khảo demo của bài viết
    ứng dụng nhỏ này với chức năng tính tổng 2 số và hiện kết quả trên màn hình,  kết hợp với việc gọi hàm javascript như trên ứng dụng này sẽ đồng thời sẽ show kết qua bằng popup window. Và code tương ứng được sử dụng trong demo là:

    Javascript:

    <script>
    function showAlert(e)
    {
    
    window.alert(e);
    
    }
    </script>
    

    ActionScript 3:

        showButton.addEventListener(MouseEvent.CLICK, this.CallJSFunction);
        function CallJSFunction(event:MouseEvent)
            {
                inputField3.text = Number(inputField1.text) + Number(inputField2.text);
                ExternalInterface.call("showAlert(\'" + inputField3.text + "\')");
            }

    Lưu ý: để chức năng hoạt động, bạn nhớ thêm một số thư viện vào ActionScript:

        import flash.display.*;
        import flash.events.*;
        import flash.external.*;
        import flash.text.*;

     

  2. ActionScript 2:Bạn có thể sử dụng lệnh getURL để gọi hàm javascript trong AS2. Như đoạn code bên dưới:
    getURL("javascript:showAlert();");

    Bạn có thể test nhanh bằng đoạn code:

    getURL("javascript:alert('Hi, Everyone!');");

Lưu ý chung là bạn cần phải thêm thuộc tính allowScriptAccess với giá trị là always cho các thẻ HTML hiển thị flash(object, embeb):

  • <param name="allowScriptAccess" value="always" />cho thẻ object
  • allowscriptaccess="always" cho thẻ embeb

 

Chúc bạn thành công.