JavaScriptとHTMLでインタラクティブなファイルアップローダーを開発していますが、現在ドラッグしているファイルfilename(dragenterイベントをトリガーするファイル)にアクセスする必要があります。dragenterイベント中にファイル名を取得する
しかし、問題は、イベントdataTransferメンバには何もファイルが含まれていないと私は実際にはは、ドロップイベントがスローされる前にファイル名を知る必要があります。出来ますか?
ありがとうございます。
JavaScriptとHTMLでインタラクティブなファイルアップローダーを開発していますが、現在ドラッグしているファイルfilename(dragenterイベントをトリガーするファイル)にアクセスする必要があります。dragenterイベント中にファイル名を取得する
しかし、問題は、イベントdataTransferメンバには何もファイルが含まれていないと私は実際にはは、ドロップイベントがスローされる前にファイル名を知る必要があります。出来ますか?
ありがとうございます。
は、私はあなたがそれのためにローカル変数を宣言する必要が....とドラッグ開始が....それを殺すときにそれを初期化するために覚えているかもしれないと思うとき、ドラッグ終了...(dragendイベント/ドロップ)
"DragStart" .....(注:dragstartでは "event.dataTransfer.setData"を使用してdataTransferに任意の値を割り当てることができますが、DragEnter/DragOverではアクセスできません)
セキュリティ上の理由により "DragEnter"がdataTransfer.getData()にアクセスできないため... "onDrop"アクションでのみアクセス可能です.....
は、以下のリンクを参照してください。 を//データが起因して(クロスフレームのために)ここでは使用することはできません取得: http://msdn.microsoft.com/en-us/library/ie/ms536436(v=vs.85).aspx
// http://code.google.com/p/chromium/issues/detail?id=50009
Chorme のために動作しませんDragEnterイベント/ DragOver DragOverはでdataTransfer.getDataを使用//dataTransfer.getDataは、セキュリティ上の理由のためのDROPでのみアクセス可能です.... http://code.google.com/p/chromium/issues/detail?id=2141
か、以下のリンクを確認することができます...それが役に立つかどうかを確認: http://weblog.bocoup.com/using-datatransfer-with-jquery-events/
MORE:あなたはまた、ブラウザのキャッシュにデータが保存されますのlocalStorage /のsessionStorageコールを、使用することができ、localStorageをクロスウィンドウ(ただし、同じブラウザ)で使用することができ 、のsessionStorageは、同じセッションののみアクセス可能です。あなたはdragstartで - >
localStorage.setItem("DraggedFileName",myFileName);
あなたのDragEnterイベントでは - あなたのDropEventで>
var myFileName = undefined;
if(localStorage.getItem("DraggedFileName"))
myFileName = localStorage.getItem("DraggedFileName");
とdragendイベント - >
if(localStorage.getItem("DraggedFileName"))
localStorage.removeItem("DraggedFileName"); //Remove after Drop/DragEnd, clear it
それが役に立てば幸い..: は、同じように何かをします..
私はこれを理解しようと多くの時間を費やしました。私の結論は、それが立っているような仕様は愚かで愚かであるということです。詳細については、ここで私の説明(暴言)を読んでください:http://stackoverflow.com/questions/11927309/html5-dnd-datatransfer-setdata-or-getdata-not-working-in-every-browser-except-fi – Gup3rSuR4c
どのブラウザをお使いですか? – robertc
クロム16.0.912.75。 – mkroman
[こちらはバグです](https://bugs.webkit.org/show_bug.cgi?id=44727)、[こちら](https://bugs.webkit.org/show_bug)もご承知ください。 cgi?id = 42872) – robertc