JQuery внизу страницы с вызовом функции перед ним

  • Автор темы Alenushka2
  • Обновлено
  • 13, May 2024
  • #1
У меня есть PHP-приложение с Bootstrap 4, над которым я работаю, и пытаюсь вывести тост на экран.

Для этого мне нужно сделать:

 

$('.toast').toast('show');


Код (JavaScript): Проблема в том, что включение JQuery (вместе с включением BS) находится внизу страницы (поэтому оно ПОСЛЕ моего вызова BS/JQuery и вызывает ошибку:

Неперехваченная ошибка ссылки: $ не определен Я подумал, что если я перенесу свои включения снизу вверх, проблема исчезнет, но мне сказали, что ради новых хороших практик кодирования я должен держать их внизу. Сказал, что как я могу решить такую проблему? Спасибо!

Alenushka2


Рег
01 Jan, 2011

Тем
67

Постов
204

Баллов
559
  • 18, May 2024
  • #2
@ncc1966 Я не использую jquery, но попробуйте поместить код jquery внутри раздела , а не за его пределами. И если вам нужно выполнить функцию, поместите этот вызов в конец самого файла jquery/js, тогда не имеет значения, куда вы включаете этот файл, вызов функции будет выполнен только после того, как функция загрузится и будет определена. Почему вы вообще используете jquery, особенно когда вас беспокоит время загрузки страницы и т. д.? Разве он не загружает большой файл кода библиотеки, хотя на самом деле вам нужно всего 3-4 функции на всей веб-странице? Насколько сложно закодировать эти 4 функции на базовом JavaScript?
 

Sanik333


Рег
06 Jan, 2013

Тем
74

Постов
162

Баллов
562
  • 21, May 2024
  • #3
Да, я просто подумал, что это худший вариант: бороться! Теперь с моим проектом происходит что-то очень странное.

Я понял, что на самом деле мне нужно хранить дубликаты всех моих материалов JS как вверху, так и внизу моих страниц, иначе это не будет работать.

Я не уверен, есть ли что-то сделать, но я использую CodeIgniter 4, и все мои страницы «разбиты» на три части: верхний шаблон, основная часть и нижний шаблон.

Это единственный способ, который я нашел, тогда все работает нормально.

Это так странно.
 

DinYA1


Рег
06 Apr, 2015

Тем
66

Постов
190

Баллов
540
  • 06, Jun 2024
  • #4
Вот почему jQuery — это дымящаяся куча неумело разработанного мусора. Отсюда и проблема бедного ОП с мусорными сценариями и бессмысленными порядками кода.

Большой совет: если вы объявляете подобные сценарии в разметке, вы делаете это ВСЕ НЕПРАВИЛЬНО.

Хороший сценарий должен улучшать разметку ПОСЛЕ того, как она написана, а не бросаться в ее середину.

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

Если вы думаете, что загрузочная загрузка, jQuery или любой другой из подобных хазерей сделал что-то проще, легче или лучше, вы недостаточно изучили HTML или CSS.

даже иметь информированное мнение по этой теме, и ЛЮБОЙ, говорящий вам использовать эти системы, не имеет права отмахиваться своим чертовым тявканьем по этой теме; отчаянно нуждаюсь в четырехкратной порции униформы для фокстрота Сьерра-танго. Bootstrap 4 и jQuery? Вас обманули.

Выбросьте всю раздутую задумчивую кашу неумехи на помойку и начните с ванили.

В долгосрочной перспективе это сэкономит вам время, усилия и избавит от головной боли.

Мне страшно подумать, как выглядит настоящая страница.
 

Djotr


Рег
14 Feb, 2013

Тем
68

Постов
205

Баллов
575
  • 11, Jun 2024
  • #5
вся идея размещения javascript внизу заключается в том, что страница загружается раньше javascript - без него все должно выглядеть нормально. Теперь будут вещи, которые будут сломаны и будут выглядеть неправильно, но, надеюсь, время загрузки будет в порядке, потому что у вас не будет раздувания нигде, кроме jquery и начальной загрузки. javascript не должен быть на вашей странице, поэтому ваш код для всплывающего уведомления должен находиться в связанном файле .js, который загружается ПОСЛЕ jquery.
 

PouctceceBunc1


Рег
01 Apr, 2015

Тем
87

Постов
211

Баллов
686
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно