javascript - IE 的 CSV 和 XML 的 JQuery 文件上传插件问题

标签 javascript jquery-ui internet-explorer jquery-plugins plugins

我已在线查看包括此网站在内的所有内容,但未能找到解决我的问题的方法。

我正在尝试使用 JQuery 文件上传插件,并进行了一些修改以将文件类型限制为 CSV 和 XML,以及仅限制为 1 个文件且每个文件最多 5MB。这些新属性工作正常,并且在除 IE 之外的所有浏览器中也工作正常。

我在 fileupload 事件上绑定(bind)了一个事件,它将把 CSV 呈现为 HTML 表格。这在除 IE 之外的所有浏览器中都可以正常工作。在 IE 中,它要么抛出错误,要么卡住,右上角的绿色进度条显示以下信息:

7.123775601068567 比特/秒 | 00:00:00 | 100.00% | 0.00 KB/0.00 KB

它实际上看起来像挂起,因为它似乎没有完成上传。当我重新加载同一页面时,它显示正确!没有进度条!

更新:当我只上传 CSV 文件时,代码没问题。现在,当我尝试包含回调选项时出现问题。它似乎与我从“fileuploaddone”更新的“fileuploadcompleted”事件有关,它改进了结果但仍然不正确并且根本不执行和呈现 HTML 表(例如参见上面的链接)

// Load existing files:
$('#fileupload').each(function () {
    var that = this;            
    $.getJSON(this.action, function (result) {
        if (result && result.length) {
            $(that).fileupload('option', 'done')
                .call(that, null, {result: result});
        }
    });
}).bind('fileuploadcompleted', function (e, data) {         
    //console.log('fileuploaddone:start');
    var $filename = $('#fileupload td.name').text().trim();
    //console.log('filename is ' + $filename);

$.get('../jQuery-File-Upload/server/php/files/' + $filename, function(data) {
        $('#CSVSource').html('<pre>' + data + '</pre>');
});
$('#CSVTable').CSVToTable('../jQuery-File-Upload/server/php/files/' + $filename,{ 
        loadingImage: 'img/loading-table.gif', 
        startLine: 0 }).bind("loadComplete",function() {//for future use});
    }).bind('fileuploaddestroy', function (e, data) {
        //console.log('fileuploaddestroy');
        $('div#CSVTable').fadeOut(1000);            
    });

有什么想法可以让它在 IE 中正常工作吗?

非常感谢。

最佳答案

好的,经过大量挖掘后问题已解决,尽管解决方案非常简单并且已在此处介绍:

How to deal with ie8 jquery object doesn't support this property or method Error?

所以基本上在上面的代码中我应该一直使用 trim 的 JQuery 版本,更新如下:

var $filename = $.trim($('#fileupload td.name').text());

以某种奇怪的方式发布问题帮助我解决了这个问题:)

附带说明:我还注意到,如果您对“上传”网页所在的文件夹有 htaccess 限制,那么您在 IE 中也可以有不同的行为。例如,在设置了访问限制的情况下,尽管上传了,但它不显示实际上传的文件,上传仍然有效。当您删除文件时,它会要求您登录。<​​/p>

关于javascript - IE 的 CSV 和 XML 的 JQuery 文件上传插件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892766/

相关文章:

jquery - 如何设置datepicker的显示位置?

文本下方的 jquery ui 选项卡关闭按钮

css - @media 查询不适用于 IE11 但适用于 Chrome/FF

javascript - 使用tinymce 在 HTML 预览和纯文本之间切换

javascript - 如何降低 div onclick 的高度?

javascript - jQuery 文本编辑器 (JQTE)

javascript - 排序功能在 IE 11 中不起作用

javascript - 为什么这个网站在 IE 7 中卡住,但在任何其他浏览器中都没有?

javascript - Angular + Laravel : loading view via ngRoute

javascript - 我不断收到 undefined 使用 map 方法的错误