-1
我们在Google Chrome浏览器中将其设置为“拖放并上传”,但它的工作正常,但不适用于Explorer Edge。我的脚本只适用于谷歌浏览器
这就是我的HTML和JavaScipt。
<head>
<meta charset="utf-8">
<title>Drag N Drop</title>
<link rel="stylesheet" type="text/css" href="includes/dragNdrop/css/global.css">
</head>
<body>
<div id="uploads"></div>
<div class="dropzone" id="dropzone">
<p class="titleDragNdrop">Drag and Drop to upload</p>
<p class="SubtitleDragNdrop">We'll send your files to a temporal server while we create your page</p>
</div>
<script>
(function() {
var dropzone = document.getElementById('dropzone');
var upload = function(files) {
var formData = new FormData(),
xhr = new XMLHttpRequest(),
x;
for(x = 0; x < files.length; x = x + 1){
formData.append('file[]', files[x]);
}
xhr.onload = function() {
var data = this.responseText;
console.log(data);
}
xhr.open('post', 'includes/dragNdrop/upload.php');
xhr.send(formData);
}
dropzone.ondrop = function(e) {
e.preventDefault();
this.className = 'dropzone';
upload(e.dataTransfer.files);
};
dropzone.ondragover = function() {
this.className = 'dropzone dragover';
return false;
};
dropzone.ondragleave = function() {
this.className = 'dropzone';
return false;
};
}());
</script>
</body>
而这种代码打我的PHP
$uploaded = array();
if(!empty($_FILES['file']['name'][0])){
$carpetConNomCambiado= rand();
mkdir('../../USERS/temporal/' .$carpetConNomCambiado);
foreach($_FILES['file']['name'] as $position => $name){
if(move_uploaded_file($_FILES['file']['tmp_name'][$position], '../../USERS/temporal/' . $carpetConNomCambiado . '/' . $name)) {
$uploaded[] = array(
'name' => $name,
'file' => 'uploads/' . $name
);
}
}
为什么这个工作只是完美的谷歌浏览器,但不与IE OE优势?
当我在IE中拖动somenthing什么也没有发生。 (从控制台没有消息)
三江源, 鲍里斯
好了,你做了什么诊断?你看到什么错误?当您逐步浏览IE Edge的全功能内置调试器中的代码时会发生什么? –
*“我不是JavaScript开发人员,这是我朋友的脚本。”*对不起,我在上面评论时(我以为你说你*是一个JavaScript开发人员)会误读该行。如果你不是,那么请你的朋友修复它。我担心堆栈溢出是专门为程序员。 (请参阅网站描述:*“专业和发烧友程序员问答”*) –
如果您不知道答案是否可以,就不要像我一样愚蠢,谢谢 –