Проблемы с elFinder. Undefined не является ошибкой функции при попытке скопировать файл

Я пытаюсь внедрить файловый менеджер elFinder.

Это то, что я сделал. Включенные файлы:

    $arr_css = array(
              "main.css",
              "jquery-ui.css",
              "elfinder.min.css",
               "theme.css"
              );
    $arr_js = array(
               "jquery.js",
               "main.js",
               "jquery-ui.js",
               "elfinder.min.js",
               "elfinder.ru.js"
               );

(main.js и main.css — это массивы, используемые для создания <link rel='stylesheet'> и <script type='text/javascript'>)

На моей главной странице есть

<div id='fileStructure'>
    <div id="elfinder"> </div>
</div> 

который я использую для инициализации elfinder:

$(document).ready(function() {
    var elf = $('#elfinder').elfinder({
        lang: 'ru',             // language (OPTIONAL)
        url : '/radio/elfinder-2.0-rc1/php/connector.php'  // connector URL (REQUIRED)
    }).elfinder('instance');            
});

введите здесь описание изображения

Это то, что у меня есть сейчас. Выглядит нормально, я могу создавать каталоги, файлы, могу их загружать. Но при попытке скопировать пишет:

Uncaught TypeError: undefined is not a functionelfinder.min.js:2841 elFinder.commands.copy.execelfinder.min.js:1746 (anonymous function)elfinder.min.js:1706 (anonymous function)jquery.js:3058 jQuery.event.dispatchjquery.js:2676 jQuery.event.add.elemData.handle.eventHandle

Та же ошибка и в других действиях, таких как вырезание, удаление и другие. Когда я смотрю в скрипт, я вижу, что ошибка в строке с

return a.each(this.files(b), function (a, b) {
                if (!b.read || !b.phash) return !d.reject(["errCopy", b.name, "errPerm"])
            }), d.isRejected() ? d : d.resolve(c.clipboard(this.hashes(b))

Я действительно не понимаю, почему это происходит, потому что структура для меня не ясна:

d = this
b = a(b)

а - параметр основной функции elfinder

(function (a) {

Кто-нибудь может помочь мне решить проблему? Может кто встречался с похожей проблемой? ОБНОВЛЕНИЕ

Uncaught TypeError: undefined is not a functionelfinder.min.js:2860 elFinder.commands.cut.execelfinder.min.js:1746 (anonymous function)elfinder.min.js:1706 (anonymous function)jquery.js:3058 jQuery.event.dispatchjquery.js:2676 jQuery.event.add.elemData.handle.eventHandle
Uncaught TypeError: undefined is not a functionelfinder.min.js:4249 elFinder.commands.rm.execelfinder.min.js:1746 (anonymous function)elfinder.min.js:1706 (anonymous function)jquery.js:3058 jQuery.event.dispatchjquery.js:2676 jQuery.event.add.elemData.handle.eventHandle

person Sergey Scopin    schedule 07.03.2015    source источник
comment
Та же ошибка... Какая ошибка? Смотреть на минимизированный код, вероятно, неразумно. Замените его на не минимизированную версию кода библиотеки.   -  person epascarello    schedule 07.03.2015
comment
Я добавил ошибки, которые я вижу, когда пытаюсь удалить или вырезать. Я использовал функцию очистки jsfiddle. Знаете ли вы, нормальны ли a, b и другие неинформативные переменные в не минимизированной функции?   -  person Sergey Scopin    schedule 07.03.2015
comment
Теперь я скачал github.com/Studio-42. /elFinder/blob/2.x/js/elFinder.js пишет Uncaught TypeError: undefined is not a functionVM317 main.js:2 (анонимная функция)jquery.js:974 jQuery.Callbacks.firejquery.js: 1084 jQuery.Callbacks.self.fireWithjquery.js:406 jQuery.extend.readyjquery.js:83 DOMContentLoaded, когда я пытаюсь запустить elFinder.   -  person Sergey Scopin    schedule 07.03.2015
comment
Я обнаружил, что в этой версии нет оболочки function(a){ }. Может в этом проблема? Но что мне написать вместо тогда?   -  person Sergey Scopin    schedule 07.03.2015
comment
Похоже, вы используете версию 2.x-RC1. Попробуйте использовать ночную сборку отсюда: github.com/Studio-42/elFinder#downloads. Это, скорее всего, решит вашу проблему   -  person Luís Cruz    schedule 07.03.2015
comment
Что ж, я включил elfinder.full.js из ночного билда 2.x. Та же ошибка.   -  person Sergey Scopin    schedule 07.03.2015
comment
Это работает. Спасибо, чувак.   -  person Sergey Scopin    schedule 07.03.2015
comment
Если вы напишете это как ответ, я одобрю его.   -  person Sergey Scopin    schedule 07.03.2015


Ответы (1)


Судя по вашему URL-адресу (/radio/elfinder-2.0-rc1/php/connector.php), вы используете Elfinder 2.0 RC1.

Вы должны знать, что Studio 42 (компания, разработавшая elFinder) не обновляла и не разрабатывала код для elFinder с 2012 года. Пользователь nao-pon в последнее время отвечает за разработку и исправление ошибок.

Итак, вы должны загрузить ночную сборку, чтобы использовать последний обновленный код. Вероятно, это должно решить ваши проблемы.

person Luís Cruz    schedule 07.03.2015