解决Flash __flash_unloadHandler 死循环的Bug

跟踪Flash代码,发现只要 Flash 的 AS 代码里执行了 flash.external.ExternalInterface.call,自动会在页面上面创建 function __flash_unloadHandler() {} 方法。

为了防止这个方法对浏览器造成死循环,我们得把这段不必要的方法在页面刷新前清掉。幸运的是,IE为我们提供了onbeforeunload:

function prepUnload() {
    __flash_unloadHandler = function(){};
    __flash_savedUnloadHandler = function(){};
}
window.onbeforeunload = prepUnload;

这样就在关闭页面前,把这两个危险的方法清空。

上一篇: QQ空间代码
下一篇: 只能用关联数组访问属性的对象
文章来自: PuterJam's Blog
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4037
发表评论
登录后再发表评论!