検索

ホームページ  >  に質問  >  本文

JavaScript - jQuery-File-Upload は IE8 と互換性があります 問題: アップロードされたファイルが応答を受信できない

まず、この問題に関連するコードを示します。
次のコードは、IE9 との互換性には成功しましたが、IE8 との互換性は失敗しました

リーリー

私が遭遇した問題は、いわゆる JSON データの戻りではなく、IE ブラウザのダウンロード改善の問題でしたが、この問題は解決しました。
現在の問題は、IE8 ではこのプログラムが Done 関数と Fail 関数をコールバックできないことですが、IE9 ブラウザやその他の主流ブラウザではコールバックが可能です。

リーリー

上記プログラムの出力結果によれば、add関数が正常に実行されたことがわかります。
ネットワークの通信も監視しましたが、loading.gif のみが通信がロード中であることを示しており、その他の関連する応答はありません。
IE8 のネットワーク通信は次のようになります:

これは、done 関数と failed 関数がコールバックされていないことも証明していますが、何が問題なのでしょうか?

互換性のあるブラウザのネットワーク通信は次のとおりです:

昨日、IE9 の互換性問題を解決しようとしましたが、それ以来、IE8 の互換性問題は解決されていません。また、スタック オーバーフローに関する関連問題を 1 日近くかけて探しましたが、何もありませんでした。

伊谢尔伦伊谢尔伦2755日前1411

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-06-12 09:33:48

    私が主体です。私はこの問題に丸2日を費やし、ついに解決しました。
    なぜこの問題を解決できたかというと、前の人が書いたコードロジックを見直したからです。この問題は、実際には HTML コードと密接に関係しています。私は以前は JS コードにしか注目していませんでした。

    • HTMLコード

    リーリー

    これにより、click<button> を通じて click<input type="file"> が実際にトリガーされることがわかります。
    これは非常に一般的な手法です。<input type="file"> は醜く、カスタマイズが難しいためです (少なくとも私はその CSS をカスタマイズする方法を知りません)。したがって、入力を非表示にし、ボタンを通じて入力を呼び出すことによって、それがほとんどの人の選択になります。
    ただし、IE8 ではセキュリティ上の理由からこれが許可されていないため、input は呼び出されるようですが、データは取得されません。

    リーリー

    このようにして安全を確保する方法はわかりません。

    この制限を回避するために、HTML コードが変更されます。ボタンがクリックされているように見えますが、実際には
    input

    をクリックしています。 リーリー

    サス

    リーリー

    これは、このブログ http://wenzhixin.net.cn/2014/... を読んだ後に試してみたもので、うまくいきました

    私の考え: デバッグを通じて問題の根本原因を特定し、問題に基づいて Google で答えを検索します。

    返事
    0
  • キャンセル返事