背景:在项目里遇到个浏览器兼容的问题,特记录下。
<script type="text/javascript">
<!--
//文件上传
$(function(){
$('#file_upload').uploadify({
'formData' : {
'timestamp' : '{$time}',
'token' : '{$time | md5}',
'imageUrl' : '__ROOT__'
},
'fileTypeDesc' : '*.pdf;*.doc;*.docx;*.xls;',
'fileTypeExts' : '*.pdf;*.doc;*.docx;*.xls;',
'fileSizeLimit' : '8072KB',
'swf' : '__PUBLIC__/dwz/uploadify/uploadify.swf',
'uploader' : $("#upload_url").val(),
'buttonText':'上传',
'width': 50,
'height': 20,
'multi' :false,
'onOpen': function(event,queueId,fileObj){
if ($("#work_file").val() != ""){
var msg = "请先将之前上传的附件删除";
$('#upload-result').html('<span color="red">'+msg+'</span>');
}
},
'onUploadSuccess' : function(file, data, response) {
var obj_data = $.parseJSON(data);
var n=parseInt(Math.random()*100);
if (obj_data.status == 1){
$('#upload-result').html('<a href="javascript:void(0);" οnclick="del("'+n+'","./Public/Uploads/'+obj_data.data+'");return false;">[删除]</a>');
$("#upload_file_name").val(obj_data.file_name);
$("#upload_file_url").val("/Public/Uploads/"+obj_data.data);
}else{
$('#upload-result').html('<span color="red">'+obj_data.error+'</span>');
}
}
});
});
-->
</script>
上面的代码是应用jquery上传插件jquery.uploadify.min.js的,应用场景是在一个dwz框架弹出的dialog里写了上传文件控件。谷歌和火狐都OK了,但是在ie下,却是dialog一直卡着不动,第一反应是浏览器兼容性可能是js代码不对。打开IE的F12看到控制台下有个报错SCRIPT257: 由于出现错误 80020101 而导致此项操作无法完成。贴到百度里,看到了原因是我在script的头和尾添加了一对html注释导致的,删掉后刷新页面,果然正常了,特记录下。
参考内容:http://www.myexception.cn/web/764019.html