Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с crop в Safari

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: неработает crop в Safari
Noganno
Отправлено: 14 Февраля, 2011 - 14:08:18
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Есть код:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html>
  4.         <head>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.         <link rel="stylesheet" type="text/css" href="/css/style_avatar.css">
  7.         <link rel="stylesheet" type="text/css" href="/css/imgareaselect-deprecated.css">
  8.         <script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>
  9.         <script type="text/javascript" src="/js/ajaxupload.js"></script>
  10.         <script type="text/javascript" src="/js/jquery.imgareaselect.min.js"></script>
  11.         <script type="text/javascript">
  12.         $(document).ready(function(){
  13.                 var button = $('#butUpload > span'), interval, image, widthImg, heightImg, thumbW, thumbH;
  14.                
  15.                 new AjaxUpload(button, {
  16.                         action: 'upload.php',
  17.                         onSubmit : function(file, ext){
  18.                         if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)) {
  19.                                 button.text('Загружается');
  20.                                 this.disable();
  21.                                 $("#imgLoad").show();
  22.                                
  23.                                 interval = window.setInterval(function(){
  24.                                         var text = button.text();
  25.                                        
  26.                                         if (text.length < 13){
  27.                                                 button.text(text + '.');                                       
  28.                                         } else {
  29.                                                 button.text('Загружается');                            
  30.                                         }
  31.                                 }, 200);
  32.                                 } else {
  33.                                         alert("Ошибка, только jpg, png, jpeg, gif");
  34.                                         return false;
  35.                                 }
  36.                         },
  37.                         onComplete: function(file, response){
  38.                                 $("#imgLoad").hide();
  39.                                 button.text('Выбрать другое');
  40.                                
  41.                                 window.clearInterval(interval);
  42.                                
  43.                                 image = file;          
  44.                                 var ajaxObj = JSON.parse(response);
  45.                                 //var ajaxObj = JSON.parse(response);
  46.                                 widthImg = ajaxObj.width;
  47.                                 heightImg = ajaxObj.height;
  48.                                 thumbW = ajaxObj.thumbW;
  49.                                 thumbH = ajaxObj.thumbH;
  50.                                
  51.                                 $("#preview").css({'width': thumbW+'px', 'height': thumbH+'px'});
  52.                                 $("#min_thumbnail").css({'width': thumbW+'px', 'height': thumbH+'px'});
  53.                                
  54.                                 this.enable();
  55.                                
  56.                                 view(file);                                            
  57.                         }
  58.                 });
  59.                
  60.                 function view (imgName) {
  61.                
  62.                         $("#imgEdit").show();
  63.                        
  64.                         $("#thumbnail").attr("src","http://site.com/uploads/"+imgName);
  65.                         $("#min_thumbnail").attr("src","http://site.com/uploads/"+imgName);
  66.                 }
  67.                
  68.                 $("#thumbnail").imgAreaSelect({aspectRatio: '1:1', handles: true, fadeSpeed: 200, onSelectChange: preview});
  69.                
  70.                 function preview (img, selection) {
  71.                         if (!selection.width || !selection.height)
  72.                                 return;
  73.                                
  74.                         var scaleX = thumbW / selection.width;
  75.                         var scaleY = thumbH / selection.height;
  76.                        
  77.                         $("#min_thumbnail").css({
  78.                                 width: Math.round(scaleX * widthImg),
  79.                                 height: Math.round(scaleY * heightImg),
  80.                                 marginLeft: -Math.round(scaleX * selection.x1),
  81.                                 marginTop: -Math.round(scaleY * selection.y1)
  82.                         });
  83.                        
  84.                         $("#x1").val(selection.x1);
  85.                         $("#y1").val(selection.y1);
  86.                         $("#x2").val(selection.x2);
  87.                         $("#y2").val(selection.y2);
  88.                         $("#w").val(selection.width);
  89.                         $("#h").val(selection.height);
  90.                        
  91.                 }
  92.                
  93.                 $("#butSave").click(function () {
  94.                
  95.                         var x1 = $("#x1").val();
  96.                         var y1 = $("#y1").val();
  97.                         var x2 = $("#x2").val();
  98.                         var y2 = $("#y2").val();
  99.                         var w = $("#w").val();
  100.                         var h = $("#w").val();
  101.                         $.ajax ({
  102.                                 url: "upload.php",
  103.                                 type: "POST",
  104.                                 data: {image: image, x1: x1, y1: y1, x2: x2, y2: y2, w: w, h: h},
  105.                                 success: function () {newAvatar(image);}
  106.                        
  107.                         });
  108.                
  109.                         function newAvatar (avatar) {
  110.                                 $("#thumbnail").imgAreaSelect({hide: true});
  111.                                 $("#avatar").html("<img src=\"http://site.com/uploads/"+avatar+"\" width=\"200\">");
  112.                                 $("#minImg").html("<img src=\"http://site.com/uploads/min_"+avatar+"\">");
  113.                                 $("#imgEdit").hide();
  114.              
  115.                         }
  116.                
  117.                 });
  118.                
  119.         });
  120.         </script>
  121.         </head>
  122.         <body>    
  123. <div id="main">
  124.       <div id="wrapper">
  125.     <div id="content">
  126.           <div id="avatar2"></div>
  127.           <div id="minImg"></div>
  128.           <div style="clear:both"></div>
  129.                     <div id="butUpload"><span>Выберите фото</span><img src="/img/loading.gif" id="imgLoad"
  130.  
  131. align="right" /></div>
  132.           <div id="imgEdit"> <img src="" style="float: left; margin-right: 10px;" id="thumbnail" />
  133.         <div id="preview" style="width: 100px; height: 100px; overflow: hidden;"> <img src="" style="width: 100px; height: 100px;" id="min_thumbnail" /> </div>
  134.         <br style="clear:both;"/>
  135.         <form name="thumbnail">
  136.               <input type="hidden" name="x1" value="" id="x1" />
  137.               <input type="hidden" name="y1" value="" id="y1" />
  138.               <input type="hidden" name="x2" value="" id="x2" />
  139.               <input type="hidden" name="y2" value="" id="y2" />
  140.               <input type="hidden" name="w" value="" id="w" />
  141.               <input type="hidden" name="h" value="" id="h" />
  142.             </form>
  143.             <div style="clear:both"></div>
  144.         <div id="butSave">Сохранить</div>
  145.       </div>
  146.         </div>
  147.     <!--end content-->
  148.   </div>
  149.       <!--end wrapper-->
  150.      
  151.     </div>
  152.     <!--end main-->
  153.  
  154.  
  155. </body>
  156. </html>
  157.  


Все работает, делает загрузку и ручной crop изображения. Работает в браузерах Opera, Mozzila, Google Hrom, а вот в IE и Safari отказывается работать. После загрузке изображения на сервер, не выводит его на экран, для того чтобы пользователь смог сделать crop. IE ругается на 44 строчку. Каким либо образом можно решить эту проблему?

(Отредактировано автором: 15 Февраля, 2011 - 14:49:48)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB