搞了几个小时后,才发现,之前走的路是错的。

今天在Firefox浏览器上测试一个javascript调用Flash中的一个对象的方法时遇到问题了,

一搞就整整搞了一个下午。

我记得之前我用Flash8的时候没有遇到过这样的问题。

我的程序大概是这样,我用Flash制作了一个菜单,默认情况下,打开网页时,这个菜单隐藏,当鼠标放在一个小图标上后,这个菜单显示出来,并且会根据当前的网页数据情况,显示菜单中的几项,同时隐藏几项不需要显示的菜单项。

我在Flash中使用ExternalInterface.addCallback 注册了一个方法名叫:setMenuItemVisible(b:Boolean)

打算在网页中的javascript中调用。

可谁知程序写好后,在IE浏览器下运行一切正常,但在Firefox上老是提示错误:

无法在javascript中调用 setMenuItemVisible() 方法。

我开始到百度去搜索,找了一个多小时后,终于找到了一篇文件:

http://www.coolcode.cn/show-291-1.html

我把这篇内容在我的百度空间收藏了一下:
http://hi.baidu.com/personnel/blog/item/8c04cd119effe919b8127b47.html

原来因为浏览器的原因,如果在IE以外的大多数浏览器上执行javascript调用Flash中的函数时,一般要在 window.οnlοad=function(){载入Flash}
不然,在Flash中注册的一些对外的函数将无法在javascript中调用。

本来以为到这里原因找到了,可是接下来又遇到了一个非常头痛的问题。

因为我的Flash是先隐藏,在javascript触发事件后,才显示,我使用的是

flash.style.display="none";
flash.style.display="";

在Firefox上测试的时候发现,当在这显示和隐藏两种状态下转换的时候,每次Flash都会重新载入一次,真晕!

后来又到百度搜索了一下,找到了这么一篇文章,现在我收藏了一下:

http://hi.baidu.com/personnel/blog/item/a8f40fb3025decaed8335a43.html

最终重写了Flash代码,因为之前的代码逻辑上在Firefox上不是好办法。

2009-08-12

转载于:https://www.cnblogs.com/personnel/p/4582979.html

javascript调用Flash里对象的方法(函数)搞了五个小时。相关推荐

  1. php节点对象,JavaScript_JavaScript中访问节点对象的方法有哪些如何使用,JavaScript中访问节点对象的方法 - phpStudy...

    JavaScript中访问节点对象的方法有哪些如何使用 JavaScript中访问节点对象的方法有哪些? var obj = document.getElementById('fdafda'); va ...

  2. JavaScript调用浏览器里的websocket,如何多帧上行数据

    JavaScript调用浏览器里的websocket,如何多个后续帧上行数据?这个组合帧的目的是什么?什么场景会用到?这个帧和http中的chunked编码有是不是一个意思?

  3. javascript 操作 url 中 search 部分方法函数

    javascript 操作 url 中 search 部分方法函数 前言 首先,我们需要知道什么是 search , search 是 window.location 的一个属性.举个例子: 首先,我 ...

  4. 【javascript】函数调用的对象和方法

    探讨一个js基础理论的话题,也许在技巧应用上对你没有太大的帮助,但也许会给你带来一些启发. 如果你真正理解Javascript函数是如何调用工作的,那么就可以避免一些bug的发生: 首先让我们创建一个 ...

  5. 微信小程序:javascript调用另一个js文件的函数

    将一些通用的公共方法抽出来,在根目录下新建一个utils文件夹,新建utils.js在这里我们可以将通用的方法写在这. 每个函数都要写到: module.exports = {getCurrDate, ...

  6. Android中Webview使用javascript调用事先定义好的Java函数

    1. 首先定义好一个类,专们用于给javascript调用 public class JavaScriptInterface {// share your newspublic void share( ...

  7. 总结网站调用Flash的几种方法【转】

    一.Adobe 提供的方法 <object width="200" height="200" classid="clsid:D27CDB6E-A ...

  8. JavaScript调用cs中带参数的函数

    这个问题就是在前台js中调用c#后台中带参数的函数 如: .cs: public string Method(string name) {   return name; } javascript: v ...

  9. 【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )

    文章目录 I . 调用 Java 方法流程 II . 获取 jclass 对象 ( GetObjectClass ) III . 获取 jclass 对象 ( FindClass ) IV . JNI ...

最新文章

  1. 北斗导航 | 北斗系统信息处理创新技术(学术PPT分享附视频)
  2. Jfreechart显示数据点图表(线上可以显示点数据)
  3. C 链表(单链表的操作)
  4. wxpython多线程消息传递_wxpython多线程间通信
  5. 计算机应用基础 access,计算机应用基础第7章数据库应用基础Access
  6. Snabbdom(虚拟dom-4-init函数)
  7. 获取系统分辨率_一文弄懂高分辨率高速快门CMOS成像传感器技术应用现状
  8. 如何加快C++代码的编译速度
  9. Python数据分析案例——20年【科比NBA】生涯|数据分析
  10. 群晖系统如何布置php_群晖系统上如何切换PHP版本
  11. install报Failed to execute goal on project xxx: Could not resolve
  12. Flink Interval Join使用以及源码解析
  13. input只能输入数字0-9(不含小数点)
  14. matlab modis sst,MATLAB 处理 MODIS 数据(MOD04_L2)
  15. 腾讯滑块vData_VMP分析
  16. python0x452_python at 0x
  17. 01-【浏览器】chrome浏览器收藏夹(书签)的导出与导入
  18. mysql8.0Access denied for user 'root'@'' (using password: YES)
  19. Redis源代码分析(十一年)--- memtest内存测试
  20. CAD字体大全 集合2458种字体

热门文章

  1. Android邮件发送详解
  2. JavaScript学习总结(三)——逻辑And运算符详解
  3. stm32上的Lava虚拟机开发进度汇报(3)
  4. Win7 IIS7 ASP.NET MVC3.0 部署问题
  5. linux 串口特别是接收
  6. arm交叉编译bluez-5.25
  7. 9.28 linux系统基础优化
  8. NoSQL(2)之 Redis配置与优化
  9. centos7下安装mysql5.6_Linux-CentOS7下安装mysql5.6常见问题解决!
  10. IDaaS企业身份管理训练营火热报名中 体验新一代企业云身份服务