易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript与ActionScript3.0交互的一些问题

这两天做基于 Flash9(ActionScript 3.0)的 JavaScript PHPRPC 3.0 客户端时碰到了一些
JavaScript 与 ActionScript 3.0
交互的一些问题,这些问题在网上基本上都没有找到答案,最后通过不断的尝试才得以解决,因此在这里总结出来,希望能给碰到同样问题的同志们一些帮助。
 
 JavaScript 跟 ActionScript 3.0 交互也是通过 flash.external.ExternalInterface
这个类,不过与跟 Flash 8 中跟 ActionScript 2.0 交互所使用的
flash.external.ExternalInterface 还是有所不同的。最大的不同就是
ExternalInterface.addCallback 方法在 ActionScript 3.0 中只有 2 个参数了,而不再有
instance 这个参数。下面要讨论的这些问题都是关于 Flash 9 中 ActionScript 3.0 的。
  先来说最常
碰到的问题,就是在 JavaScript 调用 Flash 中的 ActionScript 方法时报告该方法不存在。这个问题是跟 Flash
中执行 ExternalInterface.addCallback 的时间有关的,ExternalInterface.addCallback
必须要在 HTML 的完全载入之后也就是 window.onload 事情执行后才能够执行,否则,它所发布的方法都无法在 JavaScript
中调用。
  解决这个问题的方法在 Flash 9 的 ActionScript 3.0
帮助中有个例子,里面包含了这个解决方法,就是首先在 js 中设置两个标志,例如 jsReady 和 swfReady
这两个变量作为标志,开始都设置为 false,当 window.onload 时,设置 jsReady 为 true,在 Flash
中一开始检查 JavaScript 中的这个 jsReady 标志是否是 true(通过 ExternalInterface.call
方法调用 JavaScript 中的返回这个标志的一个函数),假如不为 true,就设置一个定时器,经过一段时间后(例如 50 或 100
毫秒)重复这个检查这个标志,一旦为 true,则执行 ExternalInterface.addCallback 来发布
ActionScript 要提供给 JavaScript 调用的函数或方法,执行完所有的
ExternalInterface.addCallback 后,通过 ExternalInterface.call 方法调用
JavaScript 中的设置 swfReady 标志的函数设置 swfReady 为 true。之后,当 JavaScript 检测到
swfReady 为 true 后,再调用 ActionScript 中的方法就不会碰到上的说的这个问题了。
  假如简单一点的调用
这样还能够,假如是有好多这样的调用就比拟麻烦了。我是通过建立两个执行队列:jsTaskQueue 和 swfTaskQueue,当在
jsReady 为 true 之前,假如有要调用 ActionScript 的操作,就把这个操作放到


相关文档:

用JavaScript封装下FileSystemObject,做下文件操作!

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor
 */
var File = {
    name:'',
    path:'',
    ext:'',
    cfiles:[],
    attributes:{
    ......

javascript数组介绍

1          JavaScript数组简介
JavaScript数组是一种包含已编码的值的复合数据。数组区别于关联数组,关联数组是将值和字符串关联在一起,而数组是将值和非负整数关联在一起。
数组是对象(可利用typeof运算符)。
2          ......

Javascript中最常用的55个经典技巧

1. oncontextm 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectst> 取消选取、防止复制
3.  不准粘贴
4.   防止复制
5. <link  > IE地址栏前换成自己的图标
6. <link   ......

javascript 面向对象编程的起点

/*
* JavaScript对象就是一组属性(方法)的集合
* 在该语言中如果变量名或方法名不符合声明规范,
* 则一定得用方括号“ [] ”引用它
*
*/


/**
* <1.>该语句声明了一个class1类,class1相当于构造方法,又叫构造器
* 也可说声明了一个class1方法
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号