Ошибки jquery

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Ошибки jquery

Сообщение Brainfuck »

Заметил в консоли devtools много ошибок идущих от jquery который подтягивается ассетом какой-то библиотеки. Видимо в этой библиотеке использована битая версия jquery.

Изображение

Ссылки там вроде host/assets/a73fb89/jquery.js

Подскажите как от этого можно избавиться? Ассеты вручную чистил, composer update тоже делал.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

url.indexOf is not a function
При чем тут жквери?
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Ошибки jquery

Сообщение skynin »

чтобы избавиться - надо разобраться с ошибками

какая конкретно библиотека, какой конкретно джиквери загружаются

по тому что можно разглядеть - наверное и правда какой-то виджет тянет древний джиквери. или наоборот ему новый не нравится.
разберитесь - что у вас древнее стоит в проекте
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

urichalex писал(а): 2018.06.21, 19:02 url.indexOf is not a function
При чем тут жквери?
Ну. Наверное это в жиквери или еще где? Это точно не мой код.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

skynin писал(а): 2018.06.21, 19:02 чтобы избавиться - надо разобраться с ошибками

какая конкретно библиотека, какой конкретно джиквери загружаются

по тому что можно разглядеть - наверное и правда какой-то виджет тянет древний джиквери. или наоборот ему новый не нравится.
разберитесь - что у вас древнее стоит в проекте
Да как это понять то??? Я же показал как выглядит ссылка на ассет. Там только хэш какой-то. Нет названия библиотеки. Я сказал что уже обновлял композер, так что значит одна из пхпшных библиотек тянет старый жиквери. Но какая я не могу понять.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

При чем тут ваша ссылка на ассет?
В трейсе ошибки указано не только jquery, но и другой файл, смотрите там.
Ошибка говорит о том, что у url нет метода indexOf(), что может означать, что url является null или undefined etc..
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

urichalex писал(а): 2018.06.22, 10:14 При чем тут ваша ссылка на ассет?
В трейсе ошибки указано не только jquery, но и другой файл, смотрите там.
Ошибка говорит о том, что у url нет метода indexOf(), что может означать, что url является null или undefined etc..
Если вы имеете ввиду вот эти custom.js и template.js то я без понятия что это. Заглянул в них - какие-то кастомные бутстраповские темы судя по комментариям в начале файла. Не знаю зачем они в проекте вообще, но видимо нужны. Но опять же там нет ошибок в указанных строках. Точнее ошибки возникают как я думаю в следствии того что не срабатывает jquery (там используется $).
Coderius
Сообщения: 3
Зарегистрирован: 2018.06.20, 16:05
Контактная информация:

Re: Ошибки jquery

Сообщение Coderius »

Почисти папку runtime/assets/ и перезагрузись.
Там ошибка в твоем файле custom.js Полный путь сказать не могу, на скрине затерто. Видимо где-то не правильно сделан поиск какого-то DOM элемента.

Если ошибка в библиотеке jquery, то попробуй заменить ее на другую для теста, возможно с cdn . Вот тут можно быстро посмотреть примерчик:
https://coderius.biz.ua/blog/article/ka ... it-na-svoj
Ищу проекты для участия в разработке на yii2.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Ошибки jquery

Сообщение skynin »

Brainfuck писал(а): 2018.06.22, 09:40 Я сказал что уже обновлял композер
все что он поставил записано в composer.lock
Brainfuck писал(а): 2018.06.22, 09:40 так что значит одна из пхпшных библиотек тянет старый жиквери.
все что браузер получил можно увидеть в закладке Network
Brainfuck писал(а): 2018.06.22, 09:40 Но какая я не могу понять.
ну так ищите. кто же вместо вас сможет найти :)

Смотрите какие пакеты стоят. Какие у них Assets
Какой js код приходит в браузер

Пользуйтесь поиском в файлах, например по фрагментам js кода, взятым из браузера
Пользуйтесь IDE, смотрите наследников AssetBundle

Вот вы приводите ссылку
host/assets/a73fb89/jquery.js

Ну так отройте этот файл. Какая там версия jquery в коментариях?
А теперь возьмите строчку с этой версией, и поиском по всем js файлам в каталоге проекта пройдитесь.

Это сценарий если видите в проект в первый раз, и ничего о нем не знаете, и надо быстро что-то уже писать.
Например, потому что взяли проект на фриланс-бирже, за 3 часа сказали сделаете, и день тратить не хочется.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

Coderius писал(а): 2018.06.22, 12:39 Почисти папку runtime/assets/ и перезагрузись.
Brainfuck писал(а): 2018.06.21, 17:31Ассеты вручную чистил, composer update тоже делал.
Coderius писал(а): 2018.06.22, 12:39 Там ошибка в твоем файле custom.js Полный путь сказать не могу, на скрине затерто. Видимо где-то не правильно сделан поиск какого-то DOM элемента.
затерт только хост
Coderius писал(а): 2018.06.22, 12:39 Если ошибка в библиотеке jquery, то попробуй заменить ее на другую для теста, возможно с cdn .
Повторяю в сотый раз: jquery подтягивается какой-то php-шной библиотекой (возможно самим yii). Как я могу заменить jquery если он в чужом ассете?
Coderius писал(а): 2018.06.22, 12:39 Вот тут можно быстро посмотреть примерчик: https://coderius.biz.ua/blog/article/ka ... it-na-svoj
Может это от yii жиквери, а может и нет... Узнать бы это сначала...
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Ошибки jquery

Сообщение skynin »

Brainfuck писал(а): 2018.06.22, 14:16 Как я могу заменить jquery если он в чужом ассете?
в конфиге

Код: Выделить всё

'assetManager' => [
            'bundles' => [
                'yii\web\JqueryAsset' => [
                    'sourcePath' => null,   // do not publish the bundle
                    'js' => [
                        'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js',
                    ],
                ],
Brainfuck писал(а): 2018.06.22, 14:16 Может это от yii жиквери, а может и нет... Узнать бы это сначала...
как узнать ничего не зная заранее - я вам написал.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

skynin писал(а): 2018.06.22, 13:55 все что он поставил записано в composer.lock
там прописаны лишь версии jquery, но не путь к ассету
skynin писал(а): 2018.06.22, 13:55 все что браузер получил можно увидеть в закладке Network
Вообще не понял к чему это было сказано. Я и без вас это знаю
skynin писал(а): 2018.06.22, 13:55 ну так ищите. кто же вместо вас сможет найти :)
не знаю что и где искать
skynin писал(а): 2018.06.22, 13:55 Смотрите какие пакеты стоят. Какие у них Assets
я уже сказал что в композере не указывается нигде путь к ассету (тот самый хэш который является названием папки)
skynin писал(а): 2018.06.22, 13:55 Какой js код приходит в браузер
что мне на него смотреть? он минифицированный
skynin писал(а): 2018.06.22, 13:55 Ну так отройте этот файл. Какая там версия jquery в коментариях?
3.2.1
skynin писал(а): 2018.06.22, 13:55 А теперь возьмите строчку с этой версией, и поиском по всем js файлам в каталоге проекта пройдитесь.
Хм, похоже что это пакет bower-asset/jquery (в composer.lock нашел). Ну и что мне теперь с этой информацией делать? Судя по все тому же composer.lock в зависимостях этот пакет имеют несколько других пакетов. С версиями тоже разными, но >= так что он влезает.
skynin писал(а): 2018.06.22, 13:55 Это сценарий если видите в проект в первый раз, и ничего о нем не знаете, и надо быстро что-то уже писать.
Например, потому что взяли проект на фриланс-бирже, за 3 часа сказали сделаете, и день тратить не хочется.
Не угадал. Проект делаю не первый месяц, но по ходу там что-то начальник подсовывал из статики чтобы покрасивее было (те же стили) из старых проектов.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

skynin писал(а): 2018.06.22, 14:28
Brainfuck писал(а): 2018.06.22, 14:16 Как я могу заменить jquery если он в чужом ассете?
в конфиге

Код: Выделить всё

'assetManager' => [
            'bundles' => [
                'yii\web\JqueryAsset' => [
                    'sourcePath' => null,   // do not publish the bundle
                    'js' => [
                        'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js',
                    ],
                ],
Не, чет не помогло. Жиквери теперь (по ссылкам видно) подтягивается из CDN, но ошибки остались. Я не знаю что делать. Может проблема и не в нем, но в этих кастомных стилях я тоже вроде не вижу ошибки. Во всяком случае с ходу.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Ошибки jquery

Сообщение skynin »

Brainfuck писал(а): 2018.06.22, 15:01 Не, чет не помогло. Жиквери теперь (по ссылкам видно) подтягивается из CDN, но ошибки остались. Может проблема и не в нем
значит точно не в нем. А в js коде, который вызывает функции jQuery
Brainfuck писал(а): 2018.06.22, 15:01 Проект делаю не первый месяц ... Я не знаю что делать ... не знаю что и где искать ...
Изучать JavaScript.
Или искать фронтенд разработчика в проект.
Хотя бы консультантом.
Brainfuck писал(а): 2018.06.22, 15:01 Вообще не понял к чему это было сказано. Я и без вас это знаю
потому что уровень проблемы и ваши вопросы - как у начинающего программиста которому дали проект - "выплывай, или утони!"

ну раз вы все и без меня знаете, то конечно, удачи вам.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Ошибки jquery

Сообщение Brainfuck »

skynin писал(а): 2018.06.22, 15:39 Изучать JavaScript.
Или искать фронтенд разработчика в проект.
Хотя бы консультантом.
при чем тут черт побери js? у меня в проекте не больше 10 строк своего js кода, если проблема в какой-то левой библиотеке при чем тут я?
skynin писал(а): 2018.06.22, 15:39 потому что уровень проблемы и ваши вопросы - как у начинающего программиста которому дали проект - "выплывай, или утони!"
Чепуха. Вы не знаете меня чтобы утверждать что-то о моем уровне. Тут просто какая-то очень неочевидная проблема со сторонней js библиотекой.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

Brainfuck писал(а): 2018.06.22, 16:14 Чепуха. Вы не знаете меня чтобы утверждать что-то о моем уровне. Тут просто какая-то очень неочевидная проблема со сторонней js библиотекой.
Проблема достаточно очевидная
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

Brainfuck писал(а): 2018.06.22, 16:14 при чем тут черт побери js? у меня в проекте не больше 10 строк своего js кода, если проблема в какой-то левой библиотеке при чем тут я?
При том, что ошибку генерит js
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

На скрине в ошибках - /js/template.js строка 14 и js/custom.js строка 12 и 30
И это. вы скажете, не ваши скрипты?
Последний раз редактировалось urichalex 2018.06.22, 16:30, всего редактировалось 1 раз.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Ошибки jquery

Сообщение skynin »

Brainfuck писал(а): 2018.06.22, 16:14 если проблема в какой-то левой библиотеке при чем тут я?
при том что вы даже не можете найти с какой именно библиотекой проблема.
ВЫ не можете найти, а не я.
Brainfuck писал(а): 2018.06.22, 16:14 Вы не знаете меня чтобы утверждать что-то о моем уровне
вы не можете даже найти проблемный js код в проекте которым занимаетесь месяц.
конечно и я не супер гуру фронтенд программист в фейсбуке или яндексе. а обычный фулстек, который в состоянии писать собственные плагины для jQuery, или править чужие, заставляя их работать в окружении для которого их авторы не предусматривали.
и SPA на фреймворках "второго уровня" как я их называю. сейчас основной у меня riot.js

но если:
Brainfuck писал(а): 2018.06.22, 16:14 Тут просто какая-то очень неочевидная проблема со сторонней js библиотекой
в проекте который вы делаете "не первый месяц", то
либо изучайте JavaScript либо зовите фронтендщика.
потому что, еще раз, вы даже названия этой сторонней библиотеки не можете самостоятельно вычислить.
а что будет когда надо будет починить?

есть шанс конечно что проблема вообще смешная. просто неправильно, не так вызывается виджет, с не такими параметрами этой сторонней библиотеки, и все.
но знать то ВЫ должны, какой виджет что у вас вызывает.
Еще вариант - какой-то виджет инлайнит js код, и поэтому не видно того js файла, который вызывает эту ошибку.

Так что вы вместо фыркания - решайте свою проблему.
общие советы вы получили.
уже выяснили что проблема не в jQuery, а в каком-то другом коде.
Ищите его. дебажьте в браузере. сделайте копию проекта, и нагло отключайте composer'ом пакеты. пусть сайт ломается еще сильнее, но ВЫ, и только ВЫ должны разобраться с СВОИМ проектом.

или нанимайте консультанта, фронтенд-разработчика. зовите знакомого, ищите на фриланс бирже, того кому покажете код проекта, раз ВЫ не фронтендщик, и не ставите целью им становиться.
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Ошибки jquery

Сообщение urichalex »

Syntax error unrecognized expression: a[href*=#]:not([href=#])
Такого в jquery точно нет. А вот в вашем custom.js на строке 12 вполне может быть
Так же смотрите template.js на строке 14, что у вас там в переменной url
ну и в custom.js на строке 30, у кого вы там пытаетесь получить top()
Ответить