4

私が見つけたいくつかのリソースは、GMail File Uploadには、プログレスバーを表示したり、複数のファイルをアップロードしたりするためにFlashが組み込まれていると主張しています。

例えば:

私の質問は、GMailがFlashを使用してアップロードプログレスバーを生成するということです。そうでない場合、GmailはFileAPIをサポートしていないIE9でプログレスバーをどのように達成しますか?いくつかのテストを行いましたが、Gmailファイルのアップロードプロセス中にFlashの存在を確認できませんでした。

  • Flashコンテンツを効果的にブロックしていたFlashBlockerをインストールしました。ただし、Gmailファイルのアップロードの進行状況バーはブロックされませんでした。
  • プログレスバーを右クリックして、Flashアプレットかどうかを確認しましたが、そうではありません。
  • ソースコードを確認しましたが、.swfコードへの参照が見つかりませんでした。

では、Gmailは、IE9を含むすべてのブラウザに表示されるファイルアップロードをどのように実装するのでしょうか。

他の開発者が同じ結果を達成できるかどうか、またはファイルアップロードプログレスバーがGoogle固有であるかどうか、何か考えてください。

Google Uploadで利用できるプラグインがたくさんあることは知っていますが、クリーンなJavaScript、HTML5、PHP、CSS3、およびIE9との互換性が必要です。したがって、主題を理解していれば、すべてのコードを自分でコーディングするつもりです。

私は次のツールを使用しています。

  • Javascript
  • HTML5
  • PHP
  • MySQL
  • CSS3

ありがとうございました。


アップデート:

Gmailは、ファイルをアップロードするときにFlashを使用して進行状況のパーセンテージを計算しているように見えます。CSSを使用してプログレスバーを生成するため、プログレスバーを表示するためにFlashアプレットは使用されません。

IE9でFlashを無効にすることでこれを発見しました。Chromeとは対照的に、FlashはIE9で簡単に無効にできます。

このトピックに追加するものがあれば、喜んで話し合います。たとえば、Flashアプレットがファイルのアップロードの進行状況のパーセンテージを生成する方法、およびJavaScriptまたはCSSでその情報を通信する方法を知ることは興味深いでしょう。

4

2 に答える 2

3

私はさらに調査しましたが、はい、今日でも、GMailはファイル/添付ファイルのアップロードをサポートするいくつかのFlashオブジェクトを使用する必要があることを確認する必要があります。

ChromeでFlashを無効にすることは困難です。ただし、IEでは無効にすることができます。IEでフラッシュを無効にした後、GMailはプログレスバーのない別のインタラクティブ性の低いアップロードシステムに切り替えました。

これは、GMailが引き続きFlashを使用してアップロードルーチンをサポートしていることの明確な証拠です。

于 2012-09-19T17:40:45.543 に答える
2

Googleは約2年前にHTML5マルチファイルアップロードに切り替えました。彼らはフォールバックフラッシュアップローダーを使用していると思います。 http://www.webmonkey.com/2010/04/google-turns-to-html5-for-gmails-new-drag-and-drop-attachments/

このライブラリ(jQueryファイル-アップロード-デモはこちら: http: //blueimp.github.com/jQuery-File-Upload/)は、Internet Explorerのファイル進行状況を使用できると主張しています(少なくとも何らかの方法で;-)):

Internet Explorerのすべてのバージョンは、iframeベースのアップロードごとにグローバルプログレスバーも更新します。ただし、IEはファイルサイズを報告しないため、グローバルプログレスバーは、アップロードされたファイルのサイズに関係なく、アップロードされた各ファイルを同じように測定します。 https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

于 2012-09-15T13:29:25.293 に答える