// --- as3 part --- package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.external.ExternalInterface; // this class is needed to communicate with JS [SWF(width="70", height="40", frameRate="31")] public class test_js extends Sprite { function test_js() { var button:Sprite = new Sprite(); button.graphics.lineStyle(1, 0xff0000, 1); button.graphics.beginFill(0xff0000, 0.5); button.graphics.drawRect(10, 10, 50, 20); button.graphics.endFill(); button.addEventListener(MouseEvent.CLICK, run_js); addChild(button); } // function that comunicate with JavaScript public function run_js(myEvent:MouseEvent):void { var result:Boolean = ExternalInterface.call("test_js"); // test_js is JavaScript function name in HTML } } } --- html part --- <html> <head> </head> <body> <div> <script type="text/javascript" > function test_js() { if(document.getElementById('test_js_status').value==1) { document.getElementById('test_js_status').value=0 } else { document.getElementById('test_js_status').value=1 } } </script> <embed src="test_js.swf" quality="high" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" height="40" width="70" hspace="0" vspace="0" border="0" wmode="transparent" allowscriptaccess="allways" play="true" loop="true" bgcolor="" menu="true" /> <input type="text" name="test_js_status" id="test_js_status" /> </div> </body> </html>