• 火狐下flash重新加载的bug的解决方法
    时间:2012-01-31   作者:崔久代   出处:fed.renren.com

    做项目的时候遇到一个bug,firefox下一个弹层会引起flash重新加载,而其他浏览器就没有这样的bug。

    火狐下flash重新加载的bug的解决方法

    过程是这样的:

    DOM ready的时候我在页面嵌入了flash,flash初始化完成,然后开始执行,这时用户触发了一个弹窗操作将 body的overflow设置为了hidden,这时flash重新加载了,flash正在进行的进程被打断,和flash交互的js开始报错。

    猜想可能是用户触发的弹层覆盖了flash,我试着改变 flash的 position 来移动flash 位置,比如移出可视区域,这时有的版本的火狐flash初始化都不执行了,可以初始化的版本一样存在flash重新加载的bug。接着我试着修改z-index,使flash不被覆盖,结果都是没有解决问题。

    既然在本页面不可以,触发了页面reflow,我试着将在页面嵌入一个iframe,iframe再嵌入flash,但火狐下竟然也会触发iframe内的flash重新加载,再次失败。

    改变flash的位置和层级都能解决问题,好像已经山穷水尽。但是我们终于找到解决办法,既然改变body触发了reflow,我们将flash嵌到了body以外.
    //创建元素
    var el = document.createElement(‘div’);
    el.id = ‘flashcon’;
    document.documentElement.appendChlid(el);
    //than 嵌入 flash,需要引入swfobject.js
    swfobject.embedSWF(”);
    好的,在浏览器是火狐时,我们将flash单独嵌入到body以外,问题得到解决。

    网友留言/评论

    我要留言/评论

    相关文章

    谈优秀程序员的性格:我们一直都在讨论,性格决定命运。那么什么样的性格让你具有一个优秀程序员的潜质?要得到这个答案,我们必须要搞清楚优秀程序员的定义。对于一个程序员,我们用什么样的标准来衡量一个程序员是否优秀 。
    我们应当怎样做需求分析:又到新年了,日历又要从2011年翻到2012年了,这使我有太多的感慨,进而勾起了对太大往事的回忆。过去的10年,毫无疑问是中国软件业发展最快的10年。当我们刚刚毕业的时候,还在使用VB、PB开发一些简单的数据库应用,而现在却几乎看不到它们的踪影,换来的是诸如J2EE和.NET这样的大型web应用。而这期间,RUP、XP、敏捷开发、持续集成••••••一个接一个的新概念层出不穷,令人眼花缭乱。现在想来,恍如隔世。
    如何选择Sencha Touch 和 jQuery Mobile:如果你正在面临是选择 jQuery Mobile 或者是 Sencha Touch ,那么请阅读此文,下面这些因素是你需要考虑的。
    Android 4.0设计规范 优先导读 十大改变 (附全文翻译pdf):在拜读和翻译了Android design设计指导后,对比Android 4.0与Android2.3及之前版本的app设计指导,总结了Android 4.0设计的10大改变。
    拒绝平庸——浅谈Web登录页面设计:用户活跃度是检验产品成功与否的重要指标之一,传统行业的商家极为重视门面的装潢,因为一个好的门面可以聚集人气,招揽更多的顾客。古时候的大户人家院子门口的石狮子或其他的摆件的摆放极为讲究,有一定的风水学说道理,更能彰显主人家的身份地位.由此可见,“门面’就如人的脸面之于人的形象一样重要,而WEB的登录页面就相当传统的“门面”。
    给设计师和开发者提供的 50 个web开发免费在线工具:设计和维护一个网站并不是一件很容易的事情,他需要花费很多的时间,这就是设计师和开发人员为什么经常去搜寻各种工具来帮助他们提高工作效率。其中网络上有很多相关工具,但是并不是所有的工具都是那么好用。所以今天我们总结了一个工具列表,这将会为设计师和开发工程师非常有用。如果您还有更好的工具,请提出建议,我们也将此呈现给广大设计师们。
    2012年开发者该做的11件事:2011年即将结束,2012正在靠近。你是否在专业领域给自己设定2012的目标?不管你的答案如何,我相信下面列出的11条建议里面总有一两条适合你 :)
    【iShout】Metro UI 的简洁是另一种复杂:Metro UI 推出来的时候,对比其他系统的图标海洋,确实让人眼前一亮,活动格窗取代图标,内容取代形式,微软的宣言是让智能手机用户有更高的效率得处理事务,而不是专注于智能手机本身。但果真如此吗?在我看来,Metro UI 设计得的最初目的是简洁,最后产生的结果却不一定是简洁。
    网络开发新项目阶段总结:摘取人人网上某位高人的针对新项目做的总结,全文如下:
    在windows查看端口占用情况方法介绍:通常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,这时大家可能会到网站找个软件什么的,或则使用防火墙来查看使用的端口;其实没有这个必要,在windows中有个dos命令可以查看当前端口使用情况,下面就介绍一种非常简单的方法,希望对大家有用 。