首页 > 代码库 > 在 Flash ActionScript 2.0 中调用 Javascript 方法

在 Flash ActionScript 2.0 中调用 Javascript 方法

本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/

在 Flash ActionScript 2.0 中调用 Javascript 方法

最近在工作中,有个这样的需求: 要从 Flash ActionScript 2.0 中调用网页上的 Javascript 方法

这是一个关于 Flash 和 Javascript 交互的问题。

在 ActionScript 2.0 中调用外部 javascript 方法,使用的是 ExternalInterface.call() 方法

开始测试:

鼠标点击元件事件,触发 Javascript 方法

在 Flash 元件上添加如下代码:

on(release) {
    ExternalInterface.call("testFlashClick");
}

在 Html 添加如下 Javascript 代码:

function testFlashClick() {
    alert(‘testToFlashClick‘);
}

理论上当鼠标点击 Flash 上的元件时,会触发 Javascript 的 Alert 弹窗

感觉好像是可行的。。。

但是奇怪的是,完全没有反应!

纠正错误

错误原因 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>

道理是一样的,效果当然也会一样。

在 Flash ActionScript 2.0 中调用 Javascript 方法