关于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注册的函数 ...
随机推荐
- RestTemplate请求出现401错误
最近遇到一个请求API接口总是报401 Unauthorized错误,起初是认为这个是平台返回的,后来用Postman请求,发现平台其实返回的是一串json,里面带有一些权限验证失败的消息,但到我们代 ...
- scss-@extend
@extend指令用于共享规则和选择器之间的关系.它可以扩展所有其他类的样式在一个类中,也可应用于自己特定的样式. 查看如下scss@extend示例: .style{ font-size: 30px ...
- 【Android】4.0 神一样的仪式感:Android第一个项目HelloWorld——eclipse
进入Eclipse,在左侧栏右击: 新建 “Android Application Project”项目,如果new之后没有,选择“Project”中“Android”目录下的 “Android Ap ...
- JS文本中间显示省略号
众所周知,文本溢出显示省略号用CSS就可以: 单行文本: white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display ...
- css sticky footer布局
Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送.套路为:内容 ...
- 我是一只IT小小鸟读书笔记3
Part6: 一. 无论在什么时候,师兄师姐都是我们最好的资源,遇到不会的问题一定要及时向他们请教,善于利用身边的人脉关系也是一个基本的技能. 二. 爱好很多,但特长一定要有.仔细思考一下 ...
- java中加密的方式概述
加密是用一种特殊的算法改变原有的数据,使未经授权的用户即使获得了已经加密的信息,但不知其解密的方法,仍然无法了解信息的内容. 大体上分为单向加密和双向加密,双向加密又可分为对称加密和非对称加密 ...
- Sharepoint学习笔记--如何定位网站集所在的w3wp进程
我们在调试WebPart或者EventHandler之类的自定义组件时会遇到如何定位部署的网站集所对应的w3wp.exe进程的问题,方法如下 : 方法1. 直接开始运行,输入cmd,再输入iisap ...
- Linux --Apache服务搭建
Apache网站服务 1.基本配置 安装 [root@localhost /]# rpm -e httpd --nodeps --卸载rpm方式安装的httpd [root@localhost qwe ...
- 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 ...