本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/javascript
最近在工做中,有个这样的需求: 要从 Flash ActionScript 2.0 中调用网页上的 Javascript 方法java
在 ActionScript 2.0 中调用外部 javascript 方法,使用的是 ExternalInterface.call() 方法测试
开始测试:code
鼠标点击元件事件,触发 Javascript 方法事件
在 Flash 元件上添加以下代码: ip
on(release) { ExternalInterface.call("testFlashClick"); }
在 Html 添加以下 Javascript 代码:get
function testFlashClick() { alert('testToFlashClick'); }
理论上当鼠标点击 Flash 上的元件时,会触发 Javascript 的 Alert 弹窗flash
感受好像是可行的。。。it
可是奇怪的是,彻底没有反应!io
错误缘由 ExternalInterface.call() Undefined
在使用该方法时,须要先引入它的类库 flash.external package
固然也能够使用 flash.external.ExternalInterface.call()
调用些方法
在 Flash 元件上添加以下代码:
on(release) { flash.external.ExternalInterface.call("testFlashClick"); }
这样问题就解决了。
在 ActionScript 2.0 中 调用外部 URL 能够使用 getURL() 方法
所以,咱们也能够使用以下代码,实现想要的效果:
on(release) { getURL("javascript: testFlashClick()"); }
换个说法,这就比如 Html 中的 a 标签的 href 属性同样: <a href="javascript: testFlashClick()"></a>
道理是同样的,效果固然也会同样。