關於alert后,才能繼續執行后續代碼問題


如果在正常情況下,代碼要在alert之后才執行,解決辦法:將要執行的代碼用setTimeout延遲執行即可(原因:頁面未加載完畢)

首先,先說明問題情況:

 如下JS代碼,不能正常執行,只有在最前面加上alert("")后才能執行,

 其實是DOM渲染時間太長,alert起到了延時作用,所以alert后才能看到代碼執行效果

原始代碼:

<script type="text/javascript">
var
ctx='${ctx}'+'/static/js/'; var files = []; var errors = []; var type = 'file'; var max_file_size = '10mb'; var filters = {title : "文檔", extensions : "xml"}; $("#uploader").pluploadQueue($.extend({ runtimes : 'flash,html4', url : 'localUpLoadProgram', max_file_size : max_file_size, file_data_name:'file', unique_names:true, filters : [filters], flash_swf_url : ctx+'plupload/plupload.flash.swf', init:{ FileUploaded:function(uploader,file,response){ if(response.response){ var rs = $.parseJSON(response.response); if(rs.status){ files.push(file.name); }else{ errors.push(file.name); } } }, UploadComplete:function(uploader,fs){ //var e= errors.length ? ",失敗"+errors.length+"個("+errors.join("、")+")。" : "。"; // alert("上傳完成!共"+fs.length+"個。成功"+files.length+e); } } },(true ? {chunk_size:'1mb'} : {})));
</script>

解決后代碼:

延時執行該函數,就ok了,就達到了alert延時的效果了

<script type="text/javascript">
    setTimeout(loaderLocal,1);
    function loaderLocal(){
        var ctx='${ctx}'+'/static/js/';
        var files = [];
        var errors = [];
        var type = 'file';
        var max_file_size = '10mb';
        var filters = {title : "文檔", extensions : "xml"};
        $("#uploader").pluploadQueue($.extend({
            runtimes : 'flash,html4',
            url : 'localUpLoadProgram',
            max_file_size : max_file_size,
            file_data_name:'file',
            unique_names:true,
            filters : [filters],
            flash_swf_url : ctx+'plupload/plupload.flash.swf',
            init:{
                FileUploaded:function(uploader,file,response){
                    if(response.response){
                        var rs = $.parseJSON(response.response);
                        if(rs.status){
                            files.push(file.name);
                        }else{
                            errors.push(file.name);
                        }
                    }
                },
                UploadComplete:function(uploader,fs){
                    //var e= errors.length ? ",失敗"+errors.length+"個("+errors.join("、")+")。" : "。";
                   // alert("上傳完成!共"+fs.length+"個。成功"+files.length+e);
                }
            }
        },(true ? {chunk_size:'1mb'} : {})));
    }
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM