2013-10-25 5 views
2

Я использую plupload версии 2. В приложении Ruby on Rails. Кнопка «Обзор» (что приводит к открытию диалогового окна открытого файла) не работает в Safari, но все отлично работает в Firefox и Chrome. Вот вид моего кода:Plupload кнопка обзора не работает в сафари

$(document).ready(function(){ 
      var uploader = new plupload.Uploader({ 
      runtimes          :  'html5', 
      browse_button     :  'upload-pinboard-pic', 
      container        :  'uploader_contianer', 
      url            :  '/galleries', 
      filters         :  [{title : "Image files", extensions : "jpg,gif,png"}], 
      autostart        :  true, 
      multipart        :  true, 
      multipart_params    :  {'class_type': 'BoardPic', 
                      '_http_accept': 'application/javascript', 
                      '_method': 'post', 
                      'action' : 'create', 
                      'controller' :'galleries', 
                      '<%= Rails.application.config.session_options[:key] %>' : encodeURIComponent('<%= u cookies[Rails.application.config.session_options[:key]] %>'), 
                      'authenticity_token': '<%= form_authenticity_token %>'} 
      }); 

      uploader.init(); 

      uploader.bind('FilesAdded', function(up, files){ 
        if (files[0].size>1048576){ 
         uploader.splice(); 
         $("#dialog-confirm span").html('Photo must be less than 1 MB'); 
          $("#dialog-confirm").dialog({ 
          autoOpen: false, 
          resizable: false, 
          modal: true, 
          buttons: { 
            "Ok": function() { 
              $("#dialog-confirm").dialog("close"); 
              return false; 
            }, 
          } 
         }); 
         weunite_modal_dialog(); 
        } 
        else{ 
        $("#uploading_image").show(); 
        up.start(); 
        } 
      }); 

      uploader.bind('FileUploaded', function(up, file, info){ 
        jsonObject = jQuery.parseJSON(info["response"]); 
     $("#uploading_image").hide(); 
        if (jsonObject['error']){ 
      $("#dialog-confirm span").html(jsonObject['error']); 
       $("#dialog-confirm").dialog({ 
        autoOpen: false, 
        resizable: false, 
        modal: true, 
        buttons: { 
          "Ok": function(){ 
            $('#dialog-confirm').dialog("close"); 
          } 
        } 
       }); 
      weunite_modal_dialog(); 
      }else{ 
        $("#uploaded-file").attr('src', jsonObject['orig_url']); 
        var url = jsonObject['orig_url']; 
        $('#board-image-file').val(url); 
        $("#newBoard-attachmentID").val(jsonObject['attachment_id']); 
        } 
      }); 
    }); 

Спасибо заранее.

ответ

0

Я не знаю, как это работает. Я просто изменяю значение класса и идентификатора элемента кнопки обзора. Может быть причиной конфликта Id/class.

Смежные вопросы