【问题标题】:Dropzone.js does not support older browsers! (chrome version is 77+ & updated)Dropzone.js 不支持旧浏览器! (铬版本是 77+ 和更新)
【发布时间】:2020-02-02 11:38:07
【问题描述】:

我的问题是模板中相同的模板代码正在工作并且没有显示此警报,但是当我在我的项目中使用它时(我使用的是 laravel 5.5),它显示了此警报

Dropzone.js 不支持旧版浏览器!

每当我刷新浏览器时。甚至浏览器也是相同的(chrome 版本 77+ 和更新)。由于此警报未显示在模板中,因此它也不应该出现在我的项目中。请帮帮我!

这里是相关的 HTML 代码

<div>
  <form action="./dummy.html" class="dropzone well" id="dropzone">
    <div class="fallback">
      <input name="file" type="file" multiple="" />
    </div>
  </form>
</div>

<div id="preview-template" class="hide">
   <div class="dz-preview dz-file-preview">
       <div class="dz-image">
         <img data-dz-thumbnail="" />
       </div>

       <div class="dz-details">
         <div class="dz-size">
           <span data-dz-size=""></span>
         </div>

         <div class="dz-filename">
           <span data-dz-name=""></span>
         </div>
       </div>

     <div class="dz-progress">
       <span class="dz-upload" data-dz-uploadprogress=""></span>
     </div>

     <div class="dz-error-message">
       <span data-dz-errormessage=""></span>
     </div>

     <div class="dz-success-mark">
       <span class="fa-stack fa-lg bigger-150">
         <i class="fa fa-circle fa-stack-2x white"></i>
         <i class="fa fa-check fa-stack-1x fa-inverse green"></i>
       </span>
     </div>

     <div class="dz-error-mark">
       <span class="fa-stack fa-lg bigger-150">
         <i class="fa fa-circle fa-stack-2x white"></i>
         <i class="fa fa-remove fa-stack-1x fa-inverse red"></i>
       </span>
     </div>
   </div>
</div>

这里是相关的 jQuery 代码

<script type="text/javascript">
  jQuery(function($){
  try {
    Dropzone.autoDiscover = false;

    var myDropzone = new Dropzone('#dropzone', {
      previewTemplate: $('#preview-template').html(),

    thumbnailHeight: 120,
      thumbnailWidth: 120,
      maxFilesize: 50.5,

    //addRemoveLinks : true,
    //dictRemoveFile: 'Remove',

    dictDefaultMessage :
    '<span class="bigger-150 bolder"><i class="ace-icon fa fa-caret-right red"></i> Drop files</span> to upload \
    <span class="smaller-80 grey">(or click)</span> <br /> \
    <i class="upload-icon ace-icon fa fa-cloud-upload blue fa-3x"></i>'
  ,

      thumbnail: function(file, dataUrl) {
        if (file.previewElement) {
          $(file.previewElement).removeClass("dz-file-preview");
          var images = $(file.previewElement).find("[data-dz-thumbnail]").each(function() {
        var thumbnailElement = this;
        thumbnailElement.alt = file.name;
        thumbnailElement.src = dataUrl;
      });
          setTimeout(function() { $(file.previewElement).addClass("dz-image-preview"); }, 1);
        }
      }

    });


    //simulating upload progress
    var minSteps = 6,
        maxSteps = 60,
        timeBetweenSteps = 100,
        bytesPerStep = 100000;

    myDropzone.uploadFiles = function(files) {
      var self = this;

      for (var i = 0; i < files.length; i++) {
        var file = files[i];
            totalSteps = Math.round(Math.min(maxSteps, Math.max(minSteps, file.size / bytesPerStep)));

        for (var step = 0; step < totalSteps; step++) {
          var duration = timeBetweenSteps * (step + 1);
          setTimeout(function(file, totalSteps, step) {
            return function() {
              file.upload = {
                progress: 100 * (step + 1) / totalSteps,
                total: file.size,
                bytesSent: (step + 1) * file.size / totalSteps
              };

              self.emit('uploadprogress', file, file.upload.progress, file.upload.bytesSent);
              if (file.upload.progress == 100) {
                file.status = Dropzone.SUCCESS;
                self.emit("success", file, 'success', null);
                self.emit("complete", file);
                self.processQueue();
              }
            };
          }(file, totalSteps, step), duration);
        }
      }
     }


     //remove dropzone instance when leaving this page in ajax mode
     $(document).one('ajaxloadstart.page', function(e) {
      try {
        myDropzone.destroy();
      } catch(e) {}
     });

  } catch(e) {
    alert('Dropzone.js does not support older browsers!');
  }

  });
</script>

【问题讨论】:

  • Chrome 7 太旧了,最新的是 75+
  • 另外,发布问题时不要使用无用的粗体
  • 对不起它的 77+ 和更新。我会编辑。顺便说一句,你知道我怎么解决这个吗???
  • 您知道catch(e) 中的e 包含可用信息吗?
  • @MatJ 我无法从您的问题中得到足够的信息,但据我所知,“e”包含错误/异常的信息。如果您指的是其他内容,请告诉我,以便我从中受益。

标签: javascript dropzone.js jquery-file-upload


【解决方案1】:

好的,我已经解决了这个问题。问题的原因非常基本,因为我在标题中使用了 Dropzone.js 文件(我的队友在标题中移动了 js 文件)。把js文件放到footer之后,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2011-11-30
    • 2012-06-13
    • 2019-12-19
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多