前一段时间做开发的时候遇到的问题,用到上传插件uploadify做文件上传功能时,
插件生成的按钮显示不出来,点进去也是提示找不到路径
贴上js代码,
$(document).ready(function()
{
$("#uploadify").uploadify({
'swf': '../uploadify.swf',
'uploader': 'uploadAction!uploadify.action',
'method':'post',
'folder': '../UploadFiles',
'queueID': 'fileQueue',
'fileObjName' :'fileName',
'buttonText':'上传材料',
'cancelImg': '../uploadify-cancel.png',
'fileTypeExts': '*.jpg;*.bmp;*.jpeg;*.gif;*.png',
'height': 24,
'width': 88,
'uploadLimit': 10,
'removeTimeout':1,
'onQueueComplete':function(){
E_tWin.E_maskImp.alert("图片上传成功,请生成Pdf文件!");
},
'auto': false,
'multi': true
});
});
因为之前在另一个界面是这样写的,而且是可以的,所以有点搞不懂怎么换了个界面就不行了。
后来就用window.onload试了下,哎发现又是可以的。然后我就想原来用$(document).ready(function(){})的那个界面用window.onload应该也是可以的吧,然后去看了下结果很让人失望啊。这就头疼了,难道写两个js封装吗,这也太那什么了吧,不好不好。后来在网上查了下资料,最后用了一个两全其美的方法$(window).load(function(){})解决问题。
那就来说说 window.onload、$(document).ready(function(){})、$(window).load(function(){})的区别吧!
首先比较下window.onload与$(document).ready(function(){})。
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
2.编写个数
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个$(document).ready()可以同时编写多个,并且都可以得到执行
3.简化写法
window.onload没有简化写法$(document).ready(function(){})可以简写成$(function(){});
$(window).load(function(){})和window.onload区别在于$(window).load(function(){})可以写多个
我的问题就出现在这里。在jsp页面里面有写了一个onload了
<body id="setExam" onload="getMacAddr();">
所以在写window.onload就不生效了。