誰かがこれを回避する方法をまだ見つけましたか? クライアントが Flash ボタンにプログレス バーを埋め込む必要があるプロジェクトがあります。これまでのところ、CSS を非表示にした Div を作成し、ファイルのアップロードが開始された後に表示することでこれを行っています。
その後、ボタンは非表示になりますが、ボタンが非表示になると、イベントの発生が停止します。これは、CSS を画面上で移動するように変更しただけでも同じです。
.helper-hidden {
position: absolute;
left: -99999px;
}
アップロードするときは、helper-hidden
クラスをボタンに追加し、完了したら削除します。可視性に影響を与えることなく、ビューポートから「非表示」にしたい要素にこのクラスを適用することもできます。
古い質問が持ち帰られました。
この問題は、私がこれを投稿するまでにまだ SWFUpload 2 に現れています。
位置決めによる問題。基本的に、SWFUpload は、SWFUpload が使用するリンクの上にフラッシュ ファイルを配置します。onLoad 関数以降の位置を初期化します。DOM を操作した後、SWFUpload の上部に配置された DOM の一部を変更した可能性があります。
テストケース:
ページを 2 に分割する div があります。左側には SWFUpload が含まれていますが、右側には含まれていません。両側には、SWFUpload の上部に DOM を追加するためのボタンが含まれています。
------------------------------------
DOM 1 | DOM 2
SWF UPLOAD |
Button 1 | Button 2
-------------------------------------
ユーザーがボタン1をクリックすると、dom1が表示されます。ボタン 2 も同様です。
ユーザーがページの読み込みを開始したとき。SWFUPload は正常に動作します。次に、Button1 をクリックして DOM 1 を表示すると、SWFUpload が機能しなくなります。再びボタン 2 を使用すると、SWFUpload は引き続き機能します。
また、私のケースに基づいて、SWFUpload もテーブルでは機能しません。
これをバグとして SWFUpload に報告します
これを修正する最善の方法は、SWFUpload div に Visibility:hidden を使用することでした。これにより、Flash は引き続き実行され、Flash とブラウザの接続が切断されることはありません。