Dropzone不能在safari和IE 8中工作

时间:2014-04-28 06:07:47

标签: php jquery ajax

我在我的项目中使用dropzone。在Firefox和谷歌浏览器中工作正常。 但是当我在safari中测试它时,即8它不起作用。 当我选择图像然后它停在ajax文件上并在地址栏中显示ajajx文件URL。

网址就像这个http://localhost/wall/modules/gallery/ajax.php?page=gallery

我的dropzone区域如下所示,请参见图片网址

http://awesomescreenshot.com/08d2pwvj2f

我的jquery代码是:

//function for messages onclick upload image button
$(document).ready(function(){
//e.preventDefault();
//var new_album=$(".album_name").val();
//var selected_album=$(".selected_album").val();
Dropzone.autoDiscover = false;
if($("div#dropzonefrm .msg_up_img").hasClass('dropzone'))
{
$("div#dropzonefrm .msg_up_img").remove();
}
else
{
$("div#dropzonefrm").html("<div class='msg_up_img'></div>");
$("div.msg_up_img").addClass('dropzone');
$("div.msg_up_img").dropzone({ url: "modules/gallery/ajax.php?page=gallery" ,acceptedFiles : ".jpeg,.jpg,.png,.gif,.JPEG,.JPG,.PNG,.GIF", });
var sendingHandler = function(file, xhr, formData) {
    //formData.append('album_name', $(".album_name").val());
    //formData.append('selected_album', $(".selected_album").val());
};
$('div.msg_up_img').each(function() {
    Dropzone.forElement(this).on('sending', sendingHandler);
    Dropzone.forElement(this).on("success", function(file,response) {

     alert(response); //The response
     $(".last_insert_id").val(response);

});

});
}
});

我的HTML是:

<div class="gallery_cnt">
<a href="#" class="new_album_txt">Create New Album-:</a><input type="text" style="display:none;" class="album_name" value="" placeholder="please enter Album Name"/>
OR <a href="#" class="album_slct_box" style="display:none;">Click here select album</a>

<?php stream_img_upload($con,$page); ?>

<button type="button" class="btn btn-primary btn-lg add_img_to_gall">Add image to album</button>
</div>

这是我在html中调用的我的php函数

function stream_img_upload($con,$page)
{
$user_id=$_SESSION['id'];
$album_name_query=mysqli_query($con,"select album_name,id from album where login_id='$user_id'");


echo '<span class="gallery_name_display" ><select class="selected_album" name="album_slct">
<option value="">Select Gallery</option>';
while($album_name_query_result=mysqli_fetch_assoc($album_name_query))
{
$album_name=$album_name_query_result['album_name'];
$album_id=$album_name_query_result['id'];
echo '
<option value="'.$album_id.'">'.$album_name.'</option>';
}
echo '</select></span>';
echo '<div>
<div style="float:left;margin-left:10px;">Title<input type="text" class="img_ttl"/></div>';
echo '<div>Description<input type="text" class="img_desc"/></div>
</div>';
echo '<div class="gallary_upld_cnt">';
    echo '<span class="up_resp"><input type="hidden" class="up_img_resp" value=""></input><input type="hidden" class="cmt_img_resp" value="" mid=""></input></span>';
    echo '<div id="dropzonefrm" ></div>';
echo '</div>';
}

现在我已经显示了所有代码,所以请帮助我..

你是摇滚和天才的朋友。

请帮我解决这个问题,我花了很多时间但没有结果。

提前感谢,请问我是否有不明确的事情。

1 个答案:

答案 0 :(得分:3)

Dropzone不支持版本10之前的IE或版本6之前的Safari。请参阅http://www.dropzonejs.com/#browser-support,其中包含:

  

作为旁注:我收到了各种“投诉”   支持早期版本的Internet Explorer - 有些人甚至打电话给我   IE仇敌。虽然我并不反对,但我之所以这样做   不支持早期版本的IE很简单:IE直到版本   10没有提供所需的API来实现只有一小部分   Dropzone渴望做的事情。如果我是IE仇恨者,我不会   实现IE10。但IE10实际上支持API Dropzone   需要,所以它是支持的。就这么简单。 (同样如此   对于早期版本的Firefox,Opera和Safari,但这些浏览器   转换率很高,没有人再使用Firefox 3.5了。为什么   有些人仍然使用IE8超出我的范围。)