dds 47 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая Приветствую вас форумчане. При использовании данной библиотеки в своем плагине столкнулся с такой проблемой как невозможность вывода сообщений об ошибках в событии onComplete: function(id, fileName, response){ }; если данную ошибку обрабатывает сам плагин ( например: typeError, sizeError, emptyError ). Можно лишь заменить текст ошибки через событие messages: {}; или вообще отключить вывод этих ошибок через showMessage: false, Можно ли как-то заставить обрабатывать эти ошибки через onComplete: function(id, fileName, response){ }; чтобы я мог повесить их там на функцию DLEPush? Или других вариантов чтобы разрешить вывод всех ошибок в событиях onComplete и onError в самом fileuploader кроме как изменяя исходный код самого плагина нету? Хотя пишут что, изменение исходного кода сторонней библиотеки не рекомендуется. Или же придется использовать плагин другого загрузчика? Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая конкретный бы пример Цитата Ссылка на сообщение Поделиться на других сайтах
dds 47 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая Автор fileuploader.js это библиотека загрузчика файлов расположенного в DLE по адресу engine/classes/uploads/html5/fileuploader.js. Она имеет собственный вывод ошибок в случае если загрузка файла по каким либо причинам не состоялась ( их там много, но меня интересуют только typeError, sizeError, emptyError) <script type="text/javascript" src="/engine/classes/uploads/html5/fileuploader.js"></script> <script type="text/javascript"> $(document).ready(function(){ var uploader = new qq.FileUploader({ ----------- часть кода -------------- onComplete: function(id, fileName, response){ if (response.success) { DLEPush.info('Файл успешно загружен', 'Удача'); } else { if (response.error) { if (response.error == 'big_size') { DLEPush.error('Файл слишком большого размера', 'Возникла ошибка'); } } } }, messages: { sizeError: "тут текст ошибки", }, debug: false ----------- часть кода -------------- }); }); </script> Вот кусок кода. Не пойму как можно выводить ошибки в onComplete: { }; если эти ошибки выводит сам плагин. Поменять сам текст то ошибки можно через messages: {}; Цитата Ссылка на сообщение Поделиться на других сайтах
TeraMoune 56 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая (изменено) О каких конкретно ошибках идёт речь ? Изменено 31 мая пользователем TeraMoune Цитата Ссылка на сообщение Поделиться на других сайтах
dds 47 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая (изменено) Автор Например если пытаться залить файл большего размера чем допустимо, то ошибку выведет событие messages: {}; в всплывающем окне. Так как я понимаю что пример такой ошибки обрабатывает сам плагин через например sizeError. Надо же попытаться вывести ее как то в событии onComplete: { } Удаление messages: {}; из скрипта ничего не дает. Запрет вывода ошибок через showMessage: false, тоже. Через событие onComplete: { } получается вывести лишь ту ошибку которой нет в ошибках плагина: к примеру если соотношение сторон изображения не соответствуют допустимым Изменено 31 мая пользователем dds Цитата Ссылка на сообщение Поделиться на других сайтах
TeraMoune 56 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая (изменено) 20 минут назад, dds сказал: Так как я понимаю что пример такой ошибки обрабатывает сам плагин через например sizeError. В message описываются шаблоны ошибок и базовые ошибки которые будут перехвачены скриптом, сами ошибки обрабатывались в функции showMessage и эта функция как раз вызывала другую функцию (этого самого окна) то есть окно даже не принадлежит загрузчику. showMessage:function(a){ parent.DLEalert(a,"info") } Это код из файла fileuploader.js, все любые ошибки которые не перехватываются как раз обрабатываются в функции onComplete по тому принципу который вы хотели, проверяя response.error и определяя условием какая ошибка и действие для этой ошибки. Так что в showMessage надо прописать другую функцию, но а в message свести уведомления до кодов (вместо текста: Файл {file} имеет неверное расширение. Только {extensions} разрешены к загрузке.) написать что-то вроде file_extensions_err и внутри функции showMessage сделать условия проверяющие входной параметр на соответствие. Но вот как вы будите определять конкретику ошибок я не знаю. Если вы поменяете текст уведомления в message на простые коды для условий вы потеряете детали ошибки по типу (какие расширения допускаются, или до какого размера файла ограничение) Наверное проще уже подставить одну функцию какую-то, и чтобы message оставался таким какой есть, и в функцию просто отправлялся текст ошибки. Изменено 31 мая пользователем TeraMoune 1 Цитата Ссылка на сообщение Поделиться на других сайтах
dds 47 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая (изменено) Автор Понял. Спасибо большое То есть хочешь, не хочешь, а ковырять код fileuploader.js придется? Изменено 31 мая пользователем dds Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая fileuploader.js устаревший загрузкчик, больше не используется DLE. А DLEPush функции актуальных версий DLE. Переводите свой плагин на работу с новым загрузчиком, там вы можете управлять выводом ошибок как вам угодно и по своему желанию. В будущих версиях DLE этого файла может быть вовсе не быть, он лишь остается пока временно для совместимости если его уже используют какие то старые плагины, чтобы было время на переработку этих плагинов. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
dds 47 Опубликовано: 31 мая Рассказать Опубликовано: 31 мая (изменено) Автор Спасибо за ответ. Решил сделать плагин с применением функции DLEPush и столкнулся с данной проблемой. Изменено 31 мая пользователем dds Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.