【转】uploadify对象不支持此属性或方法
http://blog.sina.com.cn/s/blog_6829be5c01015bae.html
—————————————————————————————————————————————————
“对象不支持此属性或方法”错误,具体出错在“document.getElementByIdx_x_x_x_x_x(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, checkComplete);”,网上查了很多帖子都没有解决。
想了半天,应该是js调用flash方法时调用失败,查了相关帮助,js调用flash必须在window.onload之后调用。此时豁然开朗!
之间我在$(function(){...});中初始化,$相当于document.onready(),此时flash还没有被加载进来,而在window.onload页面完全加载完毕,dom对象生成后再初始化上传内容。
到此问题解决!
window.onload=function(){ $("#d2_Document").uploadify({ 'uploader' : '<%=ResolveClientUrl("~/Scripts/UploadFile/uploadify.swf") %>', 'script' : 'Uploadify.ashx?action=upload', 'cancelImg' : '../../Scripts/UploadFile/cancel.png', 'folder' : '../../uploads', 'fileExt' : fileExt, 'fileDesc' : '不支持的文件类型', 'sizeLimit' : 1024*1024*10, //10M //'buttonText' : 'Select Files', 'multi' : false, onComplete : function(event, ID, fileObj, response, data){ //将服务器的url通过wcf保存到数据库 var responseData=jQuery.parseJSON(response) if(responseData.result){ var file=fileObj.name; var size=fileObj.size; var url=responseData.file; addDocument(file,url,size); } } }); } __________________________________________________________________________________________________ 如果把上传方法封装了,在页面写一个: var isimport = true; function importfinance(addTitle, addId) { if(isimport){ importreport('uploadify1', 'import', 'financeImport', 'fileQueue1', 'bodymask'); isimport = false; } } 就可以解决了~~