PHP.SU

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

Страниц (40): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 588
biperch Отправлено: 20 Ноября, 2014 - 00:49:18 • Тема: Шоу интуиция! • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1686
Viper пишет:
biperch пишет:
вычислил что во всех остальных формах появляется запись о картинке сразу после срабатывания события fileuploaddone, как оно туда попадает ума не приложу.
чисто теоретически могу предположить, что попадает оно после успешной загрузки файла. КО

то что после загрузки, это да, то что в текущую модель записывает номер картинки это тоже хорошо, но как этот номер картинки попадает в остальные модели....

Viper пишет:

Что есть this в методе UploadInit?

this - Экземпляр класса comments.CommentForm

по сути объявляем модель, вид, отрисовали
var comment_empty_model = new MyApp.comments.CommentModel({entity_id : this.model.get('id'),
entity_type : this.model.get('entity_type')}),
comment_form_view = new MyApp.comments.CommentForm({model:comment_empty_model});
comment_layout.comments_form.show(comment_form_view);

Во вложении полный код вида, UploadInit выполняется в контексте своего вида, для верняка запускал через call эффект тот же был, так что оставил так как сейчас..
biperch Отправлено: 19 Ноября, 2014 - 22:39:33 • Тема: Шоу интуиция! • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1686
Ну хоть какую нибудь версию!?
biperch Отправлено: 19 Ноября, 2014 - 13:27:10 • Тема: Проверка позиций сайта • Форум: FreeLance

Ответов: 10
Просмотров: 2392
когда то была програмка которая по поисковым словам выдавала позицию по поисковикам
biperch Отправлено: 19 Ноября, 2014 - 03:25:31 • Тема: Шоу интуиция! • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1686
Всем доброго времени суток!

Ниже приведенный код выводит блок-форму для отправки комментария и позволяет загружать картинки в комментарий.
Все это он делает и это замечательно.
Но появилась бага которую не могу отловить уже 3 дня. После первой отправки комментария с картинкой, в остальных таких же формах в моделе тоже появляется запись о вложенной картинке.

вычислил что во всех остальных формах появляется запись о картинке сразу после срабатывания события fileuploaddone, как оно туда попадает ума не приложу.
Возможно ли такое, что это событие происходит для всех input[type=file] или в этом повинно то ,что у них имена одинаковые?

Используется backbone+marionerre


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. UploadInit : function(){
  3.                 if (this.file_init) {
  4.                     return;
  5.                 }else{
  6.                     this.file_init = false;
  7.                 }
  8.                 var that = this;
  9.  
  10.  
  11.                 this.$('.f-comment-add-file').fileupload({
  12.                         url: '/upload_image/upload',
  13.                         dataType: 'json',
  14.                         autoUpload: false,
  15.                         dropZone: $('<div>'),  // Default: $(document)
  16.                         maxFileSize: 5000000, // 5 MB
  17.                         disableImageResize: /Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent),
  18.                         previewMaxWidth: 100,
  19.                         previewMaxHeight: 100,
  20.                         previewCrop: true,
  21.                         acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
  22.  
  23.                     }).on('fileuploadadd', function (e, data) {
  24.  
  25.                         /*
  26.                          * защита от копипаста
  27.                          * Проверка что грузим реальную картинку
  28.                          * у реальной картинки есть поле name и оно не может быть пустым
  29.                          */
  30.                        
  31.                             if (typeof data.files[0].name == 'undefined'){
  32.                                 data.abort();
  33.                                 return;
  34.                             }
  35.  
  36.  
  37.                         if(that.image_count==2){
  38.                             data.abort();
  39.                             return;
  40.                         }else{
  41.                             that.image_count++;
  42.                             that.locking_upload_file();
  43.                         }
  44.  
  45.                         data.context = $('  <div class="img_post_preview">\n\
  46.                                                <span class="icon icon-mini-close f-close"></span>\n\
  47.                                                <div class="progress progress-striped active">\
  48.                                                    <div class="progress-bar" style="width: 0%;"></div>\
  49.                                                </div>\
  50.                                            </div>')
  51.                                     .appendTo(that.$el.find('.uploaded_image_preview-comment'));
  52.                         data.context.find('.f-close').data(data).on('click', function(){
  53.                             data.abort();
  54.                             data.context.remove();
  55.  
  56.                             that.image_count--;
  57.                             that.locking_upload_file();
  58.                         });
  59.  
  60.                         console.log(data);
  61.                         console.log(data.files);
  62.  
  63.                         that.blocksReInitialise();
  64.  
  65.                     }).on('fileuploaddone', function (e, data) {
  66.                         if(data.result.status==='error'){
  67.                             alert('Upload error');
  68.                         }
  69.                         else{
  70.                             var attachments = that.model.get('attachments');
  71.  
  72.                             attachments.push({type:'image',img_id: data.result.img_id});
  73.                             that.model.set('attachments', attachments);
  74.  
  75.                             data.img_id = data.result.img_id;
  76.                             // удалили прогрес бар
  77.                             data.context.find('.progress').remove();
  78.                             // убрали у кнопки сотменить загруску событие клик которое вызывало аборт
  79.                             data.context.find('.f-close').off('click')
  80.                                 // событие удаление из сообщения картинки которая уже была загружена
  81.                                 .on('click', function(){
  82.                                     // удаляем из модели атачи
  83.                                     console.log('удаляем на сервере');
  84.                                     var attachments = that.model.get('attachments');
  85.                                     for(var i = 0; i<attachments.length; i++){
  86.                                         if(attachments[i].img_id == data.img_id){
  87.                                             attachments.splice(i ,1); // удаляем элемент
  88.                                             that.model.set('attachments', attachments);
  89.  
  90.                                             that.image_count--;
  91.                                             that.locking_upload_file();
  92.                                         }
  93.                                     }
  94.                                     data.context.remove();
  95.                                     data.context = null;
  96.  
  97.                                     that.blocksReInitialise();
  98.  
  99.                                 });
  100.  
  101.                             console.log('Отправка успешна', data);
  102.                         }
  103.                     }).on('fileuploadprocessalways', function (e, data) {
  104.                         var index = data.index,
  105.                             file = data.files[index],
  106.                             node = $(data.context);
  107.                         if (file.preview) {
  108.                             node.append(file.preview);
  109.                         }
  110.                         if (file.error) {
  111.                             node.append($('<span class="text-danger"/>').text(file.error));
  112.                         }else{
  113.                             data.submit();
  114.                         }
  115.  
  116.  
  117.                     }).on('fileuploadprogress', function (e, data) {
  118.                         var progress = parseInt(data.loaded / data.total * 100, 10);
  119.                         data.context.find('.progress-bar').css(
  120.                             'width',
  121.                             progress + '%'
  122.                         );
  123.                     });
  124.             }
  125.  
biperch Отправлено: 19 Ноября, 2014 - 00:53:22 • Тема: Вопрос о скорости загрузки • Форум: Вопросы новичков

Ответов: 5
Просмотров: 245
если размер исчисляется в стнях мегабайтов, то возможно что да)
а так не парься
biperch Отправлено: 17 Ноября, 2014 - 18:02:29 • Тема: jQuery file upload copy&paste • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1248
поступил таким образом: проанализировал и выяснил что блоб не имеет названия файла
в обработчике загрузчика проверяю есть или нет имени)
biperch Отправлено: 17 Ноября, 2014 - 17:08:56 • Тема: среднее геометрическое массива • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1862
Bio man пишет:
biperch, !isNaN не корректно использовать, на числовые строки возвращает true.
Хотя, зависит от задачи


isNaN тем и занимается, что проверяет возможно ли переданную переменную преобразовать в число, точнее проверяет обратное сказанному)) просто так проще выразится)
(Добавление)
В заключение
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function average(input){
  3.     var sum = 0;
  4.    
  5.     for(var i=0; i<input.length;i++){
  6.         sum *= input[i];
  7.     }
  8.     return Math.pow(sum, 1/input.length);
  9. }
  10.  
  11.  
biperch Отправлено: 17 Ноября, 2014 - 16:42:42 • Тема: среднее геометрическое массива • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1862
Проверил пашет)

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function cleanArray(input){
  3.     var out = [];
  4.     for(var i=0; i<input.length;i++){
  5.         if(!isNaN(input[i])){
  6.             out.push(input[i]);
  7.         }
  8.     }
  9.     return out;
  10. }
  11.  
biperch Отправлено: 17 Ноября, 2014 - 11:43:12 • Тема: jQuery file upload copy&paste • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1248
даже без фокуса, на любом месте страницы ctrl+v и все грузят картинку
biperch Отправлено: 16 Ноября, 2014 - 22:52:30 • Тема: jQuery file upload copy&paste • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1248
да через Ctrl+V

может есть какой то вариант, перехватить событие или что то в этом роде?
в ФФ такого нету, следовательно это фишка хрома.
biperch Отправлено: 16 Ноября, 2014 - 21:18:03 • Тема: jQuery file upload copy&paste • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1248
Добрый день.
На сайте используется библиотека jQuery-File-Upload
С помощью которой произвожу загрузку картинок с предпросмотром.
Но тут вот какая штука! Оказалось что если скопировать картинку на странице и вставить где угодно то скрипт начинает загружать картинку.
А учитывая что на странице не один элемент загрузки, получается что все сразу грузят вставляемую картинку.
Как этого избежать, грешу на то, что хром обрабатывает copy&paste

CODE (javascript):
скопировать код в буфер обмена
  1. this.$('.f-comment-add-file').fileupload({
  2.                         url: '/upload_image/upload',
  3.                         dataType: 'json',
  4.                         autoUpload: false,
  5.                         dropZone: $('<div>'),  // Default: $(document)
  6.                         maxFileSize: 5000000, // 5 MB
  7.                         disableImageResize: /Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent),
  8.                         previewMaxWidth: 100,
  9.                         previewMaxHeight: 100,
  10.                         previewCrop: true,
  11.                         acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
  12.  
  13.                     })
biperch Отправлено: 23 Марта, 2014 - 13:45:39 • Тема: Видео Youtube c placeholder • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 809
Требуется на сайте размещать видео, но так как видео на странице может быть очень много.
Надо изначально вместо видео вывести заставку этого видео как бы.

Подскажите как это делается какие принципы выполнения таких задач? А так же с других ресурсов. Интересуют принципы выполнения таких задач.
biperch Отправлено: 02 Марта, 2014 - 20:25:41 • Тема: Тег audio • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1237
нет не помогло, wav и ogg проигрывается по кругу без проблем, а с mp3 только один раз и даже нет события об окончании трека не срабатывает событие ended
biperch Отправлено: 28 Февраля, 2014 - 15:29:12 • Тема: Тег audio • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1237
IllusionMH пишет:
biperch, тут не смотрели: http://forestmist[dot]org/blog/html5-audio-loops/ ?


да полезная штука
biperch Отправлено: 28 Февраля, 2014 - 13:58:28 • Тема: Тег audio • Форум: HTML, Дизайн & CSS

Ответов: 5
Просмотров: 1237
хоть идею какую подкиньте

Страниц (40): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB