如果在正常情况下,代码要在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>

关于alert后,才能继续执行后续代码问题的更多相关文章

  1. 常量和静态变量会先载入内存后在进行执行php代码

    static $test=1;//在php执行前就已经写入内存$test++;var_dump($test);static $test=10;//在php执行前就已经写入内存var_dump($tes ...

  2. python入门:BREAK 的用法 跳当前循环后,不再执行下面代码块

    #!/urs/bin/env python # -*- coding:utf-8 -*- # BREAK 的作用 跳当前循环后,不再执行下面代码块 while True: ') break ') #w ...

  3. js 加alert后才能执行方法

    原因是:访问页面时,某些js方法还没初始化(或者还没有加载出来)此时调用肯定不执行.alert起到了延迟的功能,当用户点击确定此时要执行的js恰好初始化完成,能正常执行. 解决方法是 加setTime ...

  4. 在css加载完毕后执行后续代码

    最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui ...

  5. delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码

    unit1 [delphi] view plain copyunit Unit1; interface uses Windows, Messages, SysUtils, Variants, Clas ...

  6. ajax执行完成后,再执行下面的代码的解决办法

    一般ajax设置的都是异步的,但是有时候我们有这种需求,就是等ajax执行完成之后,在执行下面的函数. 1设置async:false 在jq中直接设置了ajax是异步的还是同步的 一般如果不写这个,默 ...

  7. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

  8. 异常依然执行{try..catch语句块..}的后续代码

    测试异常依然执行{try..catch语句块..}的后续代码: private static Integer testThrows() throws Exception{ Integer result ...

  9. main函数执行前、后再执行的代码

    一.main结束 不代表整个进程结束  (1)全局对象的构造函数会在main 函数之前执行,          全局对象的析构函数会在main函数之后执行:          用atexit注册的函数 ...

随机推荐

  1. RestTemplate请求出现401错误

    最近遇到一个请求API接口总是报401 Unauthorized错误,起初是认为这个是平台返回的,后来用Postman请求,发现平台其实返回的是一串json,里面带有一些权限验证失败的消息,但到我们代 ...

  2. scss-@extend

    @extend指令用于共享规则和选择器之间的关系.它可以扩展所有其他类的样式在一个类中,也可应用于自己特定的样式. 查看如下scss@extend示例: .style{ font-size: 30px ...

  3. 【Android】4.0 神一样的仪式感:Android第一个项目HelloWorld——eclipse

    进入Eclipse,在左侧栏右击: 新建 “Android Application Project”项目,如果new之后没有,选择“Project”中“Android”目录下的 “Android Ap ...

  4. JS文本中间显示省略号

    众所周知,文本溢出显示省略号用CSS就可以: 单行文本: white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display ...

  5. css sticky footer布局

    Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送.套路为:内容 ...

  6. 我是一只IT小小鸟读书笔记3

    Part6: 一.    无论在什么时候,师兄师姐都是我们最好的资源,遇到不会的问题一定要及时向他们请教,善于利用身边的人脉关系也是一个基本的技能. 二.    爱好很多,但特长一定要有.仔细思考一下 ...

  7. java中加密的方式概述

    加密是用一种特殊的算法改变原有的数据,使未经授权的用户即使获得了已经加密的信息,但不知其解密的方法,仍然无法了解信息的内容.     大体上分为单向加密和双向加密,双向加密又可分为对称加密和非对称加密 ...

  8. Sharepoint学习笔记--如何定位网站集所在的w3wp进程

     我们在调试WebPart或者EventHandler之类的自定义组件时会遇到如何定位部署的网站集所对应的w3wp.exe进程的问题,方法如下 : 方法1. 直接开始运行,输入cmd,再输入iisap ...

  9. Linux --Apache服务搭建

    Apache网站服务 1.基本配置 安装 [root@localhost /]# rpm -e httpd --nodeps --卸载rpm方式安装的httpd [root@localhost qwe ...

  10. March 19 2017 Week 12 Sunday

    If you want it, work for it. It's that simple. 很简单,想要什么,就为之努力吧. Yes, it is very simple. Many of us j ...