3

この 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でこれを機能させる方法はありますか?

どうもありがとう。

4

1 に答える 1

1

解決策は非常に簡単で、ここで説明されていますが、多くの掘り下げの後に問題は解決されました。

ie8 jquery オブジェクトがこのプロパティまたはメソッド エラーをサポートしていません。

したがって、基本的に上記のコードでは、次のように更新されたトリムの JQuery バージョンを使用する必要がありました。

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

奇妙な方法で質問を投稿すると、この問題を解決するのに役立ちました:)

補足として、「アップロード」Web ページがあるフォルダーに htaccess 制限がある場合、IE でも異なる動作をする可能性があることにも気付きました。たとえば、アクセス制限を設定すると、アップロードは機能しますが、アップロードされた実際のファイルは表示されません。また、ファイルを削除すると、ログインするよう求められます。

于 2012-10-15T21:46:49.260 に答える