0

Dojo 1.8 を使用しています。Firefox、Chrome、および Safari で複数の添付ファイルをサポートするアップローダーを定義しましたが、IE9 でフォームを送信すると、1 つではなく複数の POST 要求が行われます。

以下は私のコードの大まかな概要です。アップローダが IE で実行されるように、Flash プラグインをロードします (IFrame および HTML5 プラグインは機能しません)。IEが単にそれ自体であること以外に、これが他のブラウザとは大きく異なる動作をする理由は何ですか?

define([
    'dojox/form/Uploader',
    'dojox/form/uploader/FileList',
    'dojox/form/uploader/plugins/Flash'
], function(Uploader, FileList) {

...

    this.u = new dojox.form.Uploader({
        label: "Browse...",
        multiple: true,
        uploadOnSelect: false,
        url: 'uploadServlet'
    });

    this.list = new FileList({
        uploader: u
    });

...

    this.u.startup();
    this.list.startup();

});
4

3 に答える 3

1

Dojo 1.9.1では、Flashプラグインは次の警告メッセージを表示します。

dojox.form.uploader.plugins.Flash は削除されました。Uploader を直接使用することができ、必要なすべての機能が含まれています。

したがって、プラグインをロードする必要はないと思います。アップローダーがそれを行います。

于 2013-08-01T17:08:39.280 に答える
0

アップローダ用の Flash プラグインと格闘した結果、次の (残念な) 結果になりました。

  • IE は、複数の添付ファイルがあるとうまく動作しません。でユーザー エージェントをスニッフィングし、has("ie")IE の添付ファイルのアップロードを他のブラウザとは異なる方法で処理しました。これに続いて、私はIEに怒って拳を振り、その家族を呪いました.
  • Uploaderを設定force="flash"しない限り、他のすべてのブラウザは HTML5 プラグインを使用します。これはうまく機能します。
  • IFrame プラグインは IE では使えません。さらに罵倒と怒りの拳振り。

Dojo はすべての主要なブラウザー (残念ながら IE はまだ含まれています) のクロスプラットフォーム サポートを有効にするはずだったので、これは全体的に少し残念ですが、dojox バンドルにはまだ少しバグがあります。うまくいけば、この機能は 2.0 で改善されます。

于 2013-10-01T16:59:43.813 に答える
0

これが Flash プラグインのデフォルトの動作です。multiple="true" で HTML5 ファイル入力をサポートする他のすべてのブラウザーは、Flash を強制しない限り、HTML5 プラグインを使用します。

于 2013-07-23T17:48:58.320 に答える