私はWordpressの画像ギャラリープラグインに取り組んでおり、Pluploadのドラッグアンドドロップを有効にしようとしています.
何が問題なのかわかりませんが、私のupload.php
ファイルは、2 番目のファイルをドロップ領域にドロップしたときにのみ呼び出され、その後upload.php
2 回呼び出されます。
他の誰かがこれを経験しましたか?どんな助けでも大歓迎です。
アップデート
upload.php
2 番目のファイルが追加されるまで起動しない理由を発見しました。
削除up.start();
しuploader.bind('FilesAdded'...
て Plupload イニシエーションに入れると:
var uploader = new plupload.Uploader({
(...)
init : {
FilesAdded: function(up, files) {
up.start();
}
}
(...)
});
ただし、これにより、drop_area_visual_feedback(up)
ファイルが追加される前に関数を実行できます。この関数を入れても、uploader.bind('Init'...
up.start()
トリガーされて発火しますupload.php
。
これを解決する方法について何か提案はありますか?
ここに私のテストコードがあります:
// JS Code
var sim_gal_data = JSON.parse(JSON.stringify(sim_gal_data_arr));
var uploader = new plupload.Uploader({
runtimes : 'html5,silverlight,flash,browserplus,gears,html4',
drop_element : 'drag-drop-container',
browse_button : 'plupload-file-browser-button',
container : 'media-container',
max_file_size : sim_gal_data['max_file_size'],
url : sim_gal_data['upload_url'],
flash_swf_url : sim_gal_data['plupload_url']+'plupload.flash.swf',
silverlight_xap_url : sim_gal_data['plupload_url']+'plupload.silverlight.xap',
multi_selection : true
});
uploader.bind('FilesAdded', function(up, files) {
var debug = jQuery('#debug').html();
debug += up.files.length + ', ';
jQuery('#debug').html(debug);
up.refresh();
up.start();
});
uploader.init();
// PHP Code
$sim_gal_data_arr = Array(
'upload_url' => SIMPLE_GALLERY_PLUGIN_URL.'upload.php',
'plupload_url' => includes_url('js/plupload/'),
'max_file_size' => wp_max_upload_size() . 'b'
);
?>
<script type="text/javascript">
var sim_gal_data_arr = <?php echo json_encode($sim_gal_data_arr); ?>;
</script>
<?php
<div id="drag-drop-container">
<div class="inside-container">
<p class="drag-drop-info">Drop files here</p> <p>or</p>
<p><input type="button" disabled="disabled" class="button" value="Select Files" id="plupload-file-browser-button" /></p>
</div>
</div>
<p><label>Debug data:</label><div id="debug"></div></p>
<div id="media-container" class=""></div>