[JS] BlockUI开启iframe问题

时间:2019-09-13
本文章向大家介绍[JS] BlockUI开启iframe问题,主要包括[JS] BlockUI开启iframe问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近发现BlockUI开启iframe子画面,在子画面执行一些操作再unblockUI, 主画面会暂时无法使用,Google的结果发现是IE下unblockUI会有问题。


最近发现BlockUI开启iframe子画面,在子画面执行一些操作再unblockUI, 主画面会暂时无法使用,Google的结果发现是IE下unblockUI会有问题。

后来发现unblockUI在移除屏蔽时,执行reset方法会循环移除对象,此时会造成IE有Memory Leak的问题,须改用discardElement取代remove,就不会造成IE在移除对象延迟的问题,请参考:http://kossovsky.net/index.php/2009/07/ie-memory-leak-jquery-garbage-collector/。


// move blocking element back into the DOM where it started
function reset(els,data,opts,el) {
    els.each(function(i,o) {
        // remove via DOM calls so we don't lose event handlers
        if (this.parentNode){
            //this.parentNode.removeChild(this);
            jQuery.discardElement(this); //Prevent IE Memory Leak
        }
    });

    if (data && data.el) {
        data.el.style.display = data.display;
        data.el.style.position = data.position;
        if (data.parent)
            data.parent.appendChild(data.el);
        $(el).removeData('blockUI.history');
    }

    if (typeof opts.onUnblock == 'function')
        opts.onUnblock(el,opts);
};

原文:大专栏  [JS] BlockUI开启iframe问题


原文地址:https://www.cnblogs.com/chinatrump/p/11516569.html