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


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

    今天在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.onload=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

  • 相关阅读:
    卡特兰数
    混合运算改进(代码)
    典型用户和场景
    混合运算
    四则运算
    计算
    感想
    git
    附加导航 affix,side--toolbar(可结合博客园使用~)
    对python-rrdtool模块的浅研究。
  • 原文地址:https://www.cnblogs.com/personnel/p/4582979.html
Copyright © 2020-2023  润新知