Я обновил свою тестовую серверную среду с 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, чтобы гарантировать, что правильные биты тянул.
Спасибо за любые идеи помощи, которые вы можете предоставить!
PHP не имеет ничего общего с slimbox/JS, за исключением того, что противоречивый JavaScript может генерировать PHP-программа. Одна из зависимостей на стороне клиента (или URL-адреса таких и т. Д.) Изменилась - возможно, один из файлов не был загружен? – user2864740
Вы импортировали jQuery? Может быть, библиотеки импортируются в неправильном порядке? – 4castle
Вы можете попробовать нажать F12 в браузере и проверить вкладку в сети для любых файлов, которые не загружаются. Отфильтруйте файлы js и посмотрите, что загружено. jQuery должен быть загружен где-нибудь, но, возможно, он загружен после того, как вы попытались использовать его, а не раньше. – HMR