2016-04-28 4 views
0

Я обновил свою тестовую серверную среду с PHP 5.x до 7.0. Это привело к значительному изменению базового кода (mysql -> mysqli и т. Д.), Но эта ошибка приводит меня в круги. Я использую альтернативу jQuery для slimbox2 lightbox. После обновления модулей PHP и устранения большинства проблем slimbox больше не работал и помечен этой ошибкой:

Uncaught TypeError: $ (...). Slimbox не является функцией Если я развернусь немного, следующее место ошибка исходит от (прямо из slimbox2.js .. v2.05):

if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) { 
jQuery(function($) { 
    $("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) { 
     return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel)); 
    }); 
}); 

Другие должности, кажется, обвести на этом ошибки является конфликт между JQuery/Прототип/и т. д.

Функция определена в slimbox2.js, и все они, как представляется, завернуты в JQuery, чтобы гарантировать, что правильные биты тянул.

Спасибо за любые идеи помощи, которые вы можете предоставить!

+2

PHP не имеет ничего общего с slimbox/JS, за исключением того, что противоречивый JavaScript может генерировать PHP-программа. Одна из зависимостей на стороне клиента (или URL-адреса таких и т. Д.) Изменилась - возможно, один из файлов не был загружен? – user2864740

+0

Вы импортировали jQuery? Может быть, библиотеки импортируются в неправильном порядке? – 4castle

+0

Вы можете попробовать нажать F12 в браузере и проверить вкладку в сети для любых файлов, которые не загружаются. Отфильтруйте файлы js и посмотрите, что загружено. jQuery должен быть загружен где-нибудь, но, возможно, он загружен после того, как вы попытались использовать его, а не раньше. – HMR

ответ

0

Оказывается, проблема была похоронена где-то в пакете, который был неправильно установлен. Я выгрузил веб-сервер и php-пакеты и вернул их обратно, решив проблему.