本篇文章由: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 方法的更多相关文章

  1. JDK1.7中调用javascript方法

    import java.io.File; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.s ...

  2. 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时

    在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...

  3. 一步一步学Silverlight 2系列(21):如何在Silverlight中调用JavaScript

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  4. C# 构造函数中调用虚方法的问题

    请看下面代码: using System; public class A{ public A(){ M1(); } public virtual void M1(){} } public class ...

  5. angularjs 动态表单, 原生事件中调用angular方法

    1. 原生事件中调用angular方法, 比如 input的onChange事件想调用angular里面定义的方法 - onChange="angular.element(this).sco ...

  6. iOS JS 交互之利用系统JSContext实现 JS调用OC方法以及Objective-C调用JavaScript方法

    ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择拷贝到工程中,(拖入的文件夹是蓝色 ...

  7. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  8. 【09】绝不在构造和析构过程中调用virtual方法

    1.绝不在构造和析构过程中调用virtual方法,为啥? 原因很简单,对于前者,这种情况下,子类专有成分还没有构造,对于后者,子类专有成分已经销毁,因此调用的并不是子类重写的方法,这不是程序员所期望的 ...

  9. 避免在构造函数中调用虚方法(Do not call overridable methods in constructors)

    CLR中说道,不要在构造函数中调用虚方法,原因是假如被实例化的类型重写了虚方法,就会执行派生类型对虚方法的实现.但在这个时候,尚未完成对继承层次结构中所有字段的初始化.所以,调用虚方法会导致不可预测的 ...

随机推荐

  1. [BZOJ1305][CQOI2009]跳舞(网络流)

    1305: [CQOI2009]dance跳舞 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 3944  Solved: 1692[Submit][St ...

  2. hdu 1965 (莫比乌斯函数 莫比乌斯反演)

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. 【动态规划】【二分】CDOJ1006 最长上升子序列

    最长上升子序列. 要求输出字典序最小解. 就在更新答案的时候记录一下前驱.容易发现记录的这个玩意实际上形成了一个森林. #include<cstdio> #include<algor ...

  4. Problem B: 输入3个字符串,按由小到大顺序输出

    #include<stdio.h> #include<string.h> int main() { ],b[],c[],t[]; while(gets(a)!=NULL) { ...

  5. hdu 5236 Article 概率dp

    Article Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5236 ...

  6. Linux文件查找命令find和xargs详解

    PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实 ...

  7. (转)DLL中导出函数的两种方式(dllexport与.def文件)

    DLL中导出函数的两种方式(dllexport与.def文件)http://www.cnblogs.com/enterBeijingThreetimes/archive/2010/08/04/1792 ...

  8. subline text 工具快捷键说明

    编辑 ctrl + enter           光标当前行下一行新增一行,并且光标跳到下一行进行编辑 ctrl + shift +enter  光标当前行上一行新增一行,并且光标跳到上一行进行编辑 ...

  9. c/c++代码的unit-test中覆盖率的统计

    gcov lcov genhtml工具      gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用例生成代码覆盖率信 ...

  10. devfs、sysfs、udev介绍

    转:http://www.360doc.com/content/11/1203/09/7378000_169310928.shtml 一.devfs linux下有专门的文件系统用来对设备进行管理,d ...