Медленная загрузка скриптов JQuery.

  • Автор темы dwalger
  • 47
  • Обновлено
  • 17, May 2024
  • #1
Это вопрос программирования, и на него могут ответить опытные программисты сценариев.

Html-страница содержит теги сценариев, связанные с «jquery.min.js» и «jquery-ui.js», а также собственный сценарий.

Пользовательский скрипт начинается с блока '$(document).ready(function() {', который присоединяет события к элементам HTML-формы. Во время теста производительности загрузки страницы веб-сайта www.ashiro.ca

загрузка страницы заняла примерно 1,5 секунды. 70% времени уходит на выполнение обоих скриптов jQuery. На странице html может быть максимум 10 элементов формы, а код в блоке '$(document).ready(function(){') присоединяет события к этим элементам формы.

Оба сценария JQuery минимизированы. Я ищу методы сокращения времени выполнения сценариев jQuery.

dwalger


Рег
06 May, 2013

Тем
1

Постов
3

Баллов
13
  • 18, May 2024
  • #2
Вот пара трюков, которые я использовал в прошлом:
  • Сверните/объедините все ваши файлы JS (оба в вашем случае) в один файл.
  • Используйте CDN для хранения и обслуживания ваших файлов js/css.


Кроме того, есть некоторые настройки кодирования, позволяющие ускорить работу (при условии, что вы действительно используете jQuery):
http://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance--net-5551
 

schipun


Рег
09 Oct, 2012

Тем
11

Постов
80

Баллов
190
  • 31, May 2024
  • #3
jQuery — это раздутый беспорядок, а методология, которую он использует для выполнения задач, сломана, медленна и, вообще говоря, пахнет людьми, которые ее используют (а тем более теми, кто ее создал), недостаточно разбираясь в HTML, CSS или JavaScript.

писать хотя бы одну строку кода.

Только люди, которые не знают достаточно о HTML, CSS или JavaScript, чтобы вообще создавать веб-сайты, могут быть ДОСТАТОЧНО НЕВЕГЕННЫМИ, чтобы попытаться внедрить идиотскую тупую катастрофу, известную как jQuery.

Фреймворки в целом — это крушение поезда некомпетентности разработчиков, поэтому я НЕ защищаю их использование; отсюда моя статья на эту тему:

http://www.cutcodedown.com/article/HTML_CSS_and_JS_frameworks

Как я уже говорил в вашей ветке «Что не так с этим веб-сайтом», у вас МНОГО сломанных методологий, которые накладываются друг на друга, и это только усугубляет ситуацию.

Дополнительные элементы DOM, например, такие как «таблицы для макета», могут фактически замедлить работу jquery.

Он использует querySelector или его собственный внутренний эквивалент для КАЖДОЙ операции, и это может быть мучительно медленным.

поверх и без того болезненно раздутого кода, который парсер должен обрабатывать при каждой загрузке страницы.



Проще говоря, чем больше тегов вы используете на странице, особенно ненужных тегов, таких как таблицы для макета, тем больше работы приходится выполнять браузеру каждый раз, когда вызываются функции JavaScript, такие как Element.getElementById, Element.getElementsByTagName или Element.querySelector.





Вы понимаете, что jQuery — это раздутая абстракция и полифил для последнего из тех КАЖДОГО чертового раза, когда вы пытаетесь сделать ЧТО-НИБУДЬ — вряд ли шокирует то, что люди на страницах сплетничают вместе каким-либо старым способом в полном неведении о том, как использовать ЛЮБОЙ из Веб-технологии должным образом загружаются медленно, раскручивают вентиляторы ноутбуков при загрузке страницы и преждевременно разряжают мобильные батареи.

Затем владельцы сайтов задаются вопросом, почему люди загружают расширения браузера, такие как noScript, или просто блокируют JavaScript на мобильных устройствах.

Конечно, похоже, что у вас есть ASP для создания вещей, что, вероятно, объясняет устаревший, вышедший из моды вопрос «HTML, что это такое?» кодовая база.

Вот почему я предложил выбросить этот беспорядок в мусор и заставить его работать БЕЗ JavaScript.

ПЕРВЫЙ - затем улучшаем его с помощью JS по мере необходимости/желания.



Чрезмерная зависимость от сценариев, создание сценариев только для элементов разметки, таблиц для макета, чрезмерно раздутая разметка и другие проблемы являются основными причинами того, почему, несмотря на визуальную простоту страницы, она представляет собой медленный, раздутый и недоступный беспорядок; тем более полный список того, как НЕ создавать веб-сайт!

Черт, я бы не удивился, если бы вы могли сделать это быстрее, использовать меньшую пропускную способность, И загружать результаты быстрее и плавнее, полностью избавившись от скриптов и вернувшись к старым добрым загрузкам страниц.

Вы погрузились в скрипттардерию еще до того, как у вас появились базовые функции!
 

do not real


Рег
15 Dec, 2012

Тем
0

Постов
3

Баллов
3
  • 11, Jun 2024
  • #4
Просто в качестве отправной точки: Убедитесь, что ваш файл jquery-ui действительно необходим и содержит ТОЛЬКО те элементы пользовательского интерфейса jQuery, которые вы действительно используете.

Каждая отдельная функция, которую вы не используете, просто раздувает файл javascript и ни для чего не нужна.

Кроме того, в зависимости от того, для чего именно вы используете пользовательский интерфейс, возможно, вам лучше просто создать функции CSS и/или JavaScript для того, что вам нужно.
 

Hayzenberg


Рег
11 Jul, 2014

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно