ドロップ領域に ondrop イベントを設定しました。デスクトップからドロップ領域に画像をドラッグすると、イベントを受け取ります。
ただし、Recommended_Drag_Types ドキュメントによると:
https://developer.mozilla.org/en/DragDrop/Recommended_Drag_Types
ローカル ファイルは、データ値が nsIFile オブジェクトである application/x-moz-file タイプを使用してドラッグされます。特権のない Web ページは、このタイプのデータを取得または変更できません。
それは理にかなっていますが、ユーザーに権限をエスカレートしてファイルデータにアクセスし、それを ? 経由で送信するように求めるにはどうすればよいXMLHttpRequestですか?
このコードを実行するときに特権をエスカレートせずに試してみると:
event.dataTransfer.mozSetDataAt("application/x-moz-file", file, 0);
Javascript は次のエラーを返します。
Permission denied for domain.com to create wrapper for object of class UnnamedClass
これについて私が見つけた唯一の記事は 2005 年の記事ですが、その指示がまだ Firefox 3 に当てはまるかどうかはわかりません。次のようにすることをお勧めします。
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
うまくいかないようです。