关于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>
关于alert后,才能继续执行后续代码问题的更多相关文章
- 常量和静态变量会先载入内存后在进行执行php代码
static $test=1;//在php执行前就已经写入内存$test++;var_dump($test);static $test=10;//在php执行前就已经写入内存var_dump($tes ...
- python入门:BREAK 的用法 跳当前循环后,不再执行下面代码块
#!/urs/bin/env python # -*- coding:utf-8 -*- # BREAK 的作用 跳当前循环后,不再执行下面代码块 while True: ') break ') #w ...
- js 加alert后才能执行方法
原因是:访问页面时,某些js方法还没初始化(或者还没有加载出来)此时调用肯定不执行.alert起到了延迟的功能,当用户点击确定此时要执行的js恰好初始化完成,能正常执行. 解决方法是 加setTime ...
- 在css加载完毕后执行后续代码
最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui ...
- delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
unit1 [delphi] view plain copyunit Unit1; interface uses Windows, Messages, SysUtils, Variants, Clas ...
- ajax执行完成后,再执行下面的代码的解决办法
一般ajax设置的都是异步的,但是有时候我们有这种需求,就是等ajax执行完成之后,在执行下面的函数. 1设置async:false 在jq中直接设置了ajax是异步的还是同步的 一般如果不写这个,默 ...
- 解决Button设置disabled后无法执行后台代码问题
一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...
- 异常依然执行{try..catch语句块..}的后续代码
测试异常依然执行{try..catch语句块..}的后续代码: private static Integer testThrows() throws Exception{ Integer result ...
- main函数执行前、后再执行的代码
一.main结束 不代表整个进程结束 (1)全局对象的构造函数会在main 函数之前执行, 全局对象的析构函数会在main函数之后执行: 用atexit注册的函数 ...
随机推荐
- ubuntu下安装MySQL8.0
为了一劳永逸不每次都到处找资料,花了一下午时间做了这些.其中大部分是根据官方手册来的,后面部分谢谢大佬的帮助,超开心. 一.首先,将MySQL APT存储库添加到系统的软件存储库列表中 1.转到htt ...
- JavaScript Callback 回调函数
JavaScript callback回调函数 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这 ...
- webstorm上传vue代码至git
Git在push时候,提示:push to origin/master was rejected 解决方案如下: 提交代码顺序 webstorm右键项目名称==>Git==>Commit ...
- 18_CGLib动态代理
[概述] 已知JDK动态代理中的Proxy.newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)方法的 ...
- JavaScript性能优化小知识总结(转)
JavaScript的性能问题不容小觑,这就需要我们开发人员在编写JavaScript程序时多注意一些细节,本文非常详细的介绍了一下JavaScript性能优化方面的知识点,绝对是干货. 前言 一直在 ...
- rac环境修改除vip外的其他ip地址方法
官方参考文档(metalink):如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 同事在测试环境测试通过,使用如下方法.如果有疑问,请参照上述文档,写的很详细.1.停止相关 ...
- Python语言程序设计基础(7)—— 文件和数据格式化
返回字符串 file = input() #返回字符串 fo = open(file,"r").read(6) print(fo) 返回列表形式 file = input() fo ...
- Codeforces Round #422 (Div. 2)
Codeforces Round #422 (Div. 2) Table of Contents Codeforces Round #422 (Div. 2)Problem A. I'm bored ...
- HDU 1754 I Hate It 【线段树单点修改 维护区间最大值】
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1754 I Hate It Time Limit: 9000/3000 MS (Java/Others ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(七)之 图文,附件消息(2016-05-05 12:13)
上一篇介绍了加好友的流程,这里不再赘述,不过之前的聊天只能发送普通文字,那么本篇就教你如何实现发送附件和图片消息.我们先对功能进行分析: 发送图片,附件,需要实现上传图片和附件的功能. textare ...