2013-03-01 2 views
1

Я сталкиваюсь с ошибкой javascript в диалоговом окне TinyMCE при попытке вставить файл в контент. вот что я получаю: Uncaught typeError: Невозможно прочитать свойство 'length' undefined ####. com/editor/jscripts/tiny_mce/plugins/Archiv/php/fileLoader.php? file = javascript 165Ошибка Javascript на TinyMCE

Первоначально я предполагал путь был сломан, поэтому я перешел по ссылкам и понял, что все в порядке. Я предположил, что это может быть проблема совместимости с браузером, но тесты на Safari, Firefox и даже, к сожалению, IExplorer доказали, что это не так. Затем я предположил, что ошибка могла быть с моей версией TinyMCE и исправлена ​​с новыми файлами без успеха. Я в конце концов! Пожалуйста, помогите, кто угодно.

Это fileLoader.php:

<?php 

switch($_GET['file']){ 
    # Javascript files 
    case 'javascript': 
     header('Content-type: text/javascript'); 
     readfile('..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'tiny_mce_popup.js')."\r\n\r\n"; 
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'flash_detect_min.js')."\r\n\r\n"; 
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'jquery' . DIRECTORY_SEPARATOR . 'jquery-1.3.2.min.js')."\r\n\r\n";  
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'jquery' . DIRECTORY_SEPARATOR . 'jquery-ui-1.7.2.custom.min.js')."\r\n\r\n"; 
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'SWFupload' . DIRECTORY_SEPARATOR . 'swfupload.min.js')."\r\n\r\n";  
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'json2.min.js')."\r\n\r\n"; 
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'SWFupload' . DIRECTORY_SEPARATOR . 'handlers.min.js')."\r\n\r\n";  
     readfile('..' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'archiv.min.js');   
     break; 

    # default 404 
    default: 
     header("HTTP/1.0 404 Not Found"); 
     break; 
} 

?> 
+0

Это не имеет никакого отношения к php, скорее всего, это проблема с тем, как вы внедрили код javascript. Ошибка относится к получению длины массива или строки, но в этом случае переменная недействительна. – datasage

ответ

1

Это звучит как PHP работает как задумано. Ошибка, о которой вы упоминаете, является ошибкой Javascript, так как PHP не использует .length, вы не увидите ошибку get length of undefined, исходящую из PHP.

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

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