Flash AS3.0 ExternalInterface

externalinterface
 

อีกแล้วครับท่าน ExternalInterface เรื่องเดิมๆเขียนมาหลายครั้งแล้วแต่เว็บเก่าไม่ได้ย้าย DB มาด้วย
ว่าแต่ว่า ExternalInterface คืออะไร ก็คือตัวที่ใช้ติดต่อกับ javascript นั่นเองใช้ AS3 เรียก function javascript หรือว่าจะใช้ javascript เรียกมายัง แฟลชก็ได้

จริงๆแล้วบทความนี้น่าจะไปอยู่ใน dev.expertduck.com หรือ div.expertduck.com ด้วย แต่ไหนๆก็ไหนๆว่าจะเอาแฟลช มาไว้ในนี้

ExternalInterface จะเป็นประโยชน์มากในการใช้กับเว็บ ซึ่งจะทำให้ Flash และ javascript ติดต่อกันได้ โดยที่ท่านอาจจะ กำหนด Event ให้ปุ่มๆนึงแล้วเรียกให้แฟลชเปลี่ยนไปตามที่ปุ่มคลิ๊ก *0* หรืออาจจะรวมไปถึง XSS (นั่นแน)
Refference : AS3.0 ExternalInterface (Livedoc adobe)

ตัวอย่าง ExternalInterface


ตัวอย่าง ExternalInterface (wordpress แทรก flash + javascript ลำบากมาก)

ExternalInterface ที่ใช้ในการติดต่อกับ Javascript จะมีอยู่ 2 method คือ ExternalInterface.call และ ExternalInterface.addCallback

ExternalInterface.call

ExternalInterface.call จะไว้สำหรับเรียก javascript ให้ทำงาน โดยจะมี 2 อากิวเม้นต์ คือ ชื่อฟังชั่น(javascript) และก็ อากิวเม้นต์ที่จะส่งไป(กี่ตัวก็ได้)
เช่น

ExternalInterface.call('alert','Hello JavaScript I'm AS');

ExternalInterface.addCallback

ไว้สำหรับใส่ callBack ไว้เพื่อที่จะให้ javascript เรียกมาครับ ซึ่งสามารถที่จะ return ค่ากลับมายัง javascript ได้ด้วยนะเออ~

ExternalInterface.addCallback('toAS',fromJS);
function fromJS(txt:String):*
{
	js.text = txt;
}

ใช้งานจริง

ในการใช้งานจริง ต้อง import flash.external.ExternalInterface; ไว้หัวสคริปด้วยนะครับ สำหรับการใช้ javascript เพื่อเรียก flash มาใช้งานให้ ฟังชั่นนี้เรียกครับ

    function thisMovie(movieName) {
         if (navigator.appName.indexOf("Microsoft") != -1) {
             return window[movieName];
         } else {
             return document[movieName];
         }
     }

ตัวอย่าง

thisMovie('myFlash').call('test');

ซึ่ง Object ที่ Embed ไว้จะต้องใส่ไว้ทั้ง name=”myFlash” และ id=”myFlash” เพื่อให้ crossBrowser ครับ

 

ความคิดเห็น

แสดงความเห็น

แสดงความคิดเห็น