Функции jqueryUI не могут быть найдены, когда php require_once используется для общих компонентов скрипта на странице

При попытке включить библиотеку jquery через php require_once() я обнаружил, что вызовы компонента .dialog() пользовательского интерфейса JQuery выдают сообщение об ошибке:

$("#dialog").dialog не является функцией

Мне это показалось странным, так как при проверке DOM я вижу, что ожидаемый тег html отображается, а именно:

<link rel="stylesheet" href="/scripts/css/smoothness/jquery-ui-1.8.17.custom.css" type="text/css" />

Кто-нибудь знает, почему включение фрагмента html через php require_once/include_once может вызвать эту проблему?


person xenador    schedule 13.01.2012    source источник


Ответы (1)


Требование_once/include_once на стороне сервера php имеет АБСОЛЮТНО. НИЧЕГО. ЧТО СДЕЛАТЬ с любыми проблемами HTML на клиентской стороне.

Это самое основное правило, которое должен усвоить веб-разработчик.

Вы должны найти проблему на стороне клиента и исправить ее.

Всегда рассматривайте любой HTML/JS, выводимый через PHP, как собственный HTML/JS.
На стороне клиента нет никакой разницы.

Алгоритм обнаружения проблемы всегда один и тот же:

  1. Создайте чистый клиентский код без PHP.
  2. Заставьте это работать
  3. Пусть PHP выводит этот код.
  4. Если что-то пойдет не так - СРАВНИТЕ КОДЫ. Узнайте отличия.
  5. Поправьте их.
person Your Common Sense    schedule 06.03.2012