解决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;


这样就在关闭页面前,把着两给危险的方法清空.

你可能感兴趣的:(function,浏览器,IE,Flash)