この Web サイトを含めてオンラインで確認しましたが、問題の解決策を見つけることができませんでした。
私は JQuery File Upload プラグインを使用しようとしていますが、ファイルの種類を CSV と XML に制限し、ファイルを 1 つだけに制限し、ファイルごとに最大 5MB に制限するようにいくつかの修正を加えました。これらの新しいプロパティは正常に機能し、IE を除くすべてのブラウザーでも正常に機能します。
CSV を HTML テーブルとしてレンダリングする fileupload イベントにイベントをバインドしました。これは、IE を除くすべてのブラウザーで正常に機能します。IE では、エラーがスローされるか、フリーズして右上の緑色の進行状況バーに次の情報が表示されます。
7.123775601068567 ビット/秒 | 00:00:00 | 100.00% | 0.00KB / 0.00KB
アップロードが完了していないように見えるため、実際にはハングしているように見えます。そして、同じページをリロードすると、正しい表示が表示されます! プログレスバーなし!
更新: 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でこれを機能させる方法はありますか?
どうもありがとう。