Страницы Primefaces загружаются медленно после увеличения версии jQueryJquery

Программирование на jquery
Ответить
Anonymous
 Страницы Primefaces загружаются медленно после увеличения версии jQuery

Сообщение Anonymous »

Моя предыдущая версия Primefaces была 6.0. Я обновил его до Primefaces 10.0 (с помощью раздела миграции на их веб-сайте). В Clean&Build и Debug ошибок нет. Хотя проблем с обновлением не возникло, почти в 50% случаев веб-страницы загружаются медленно или не загружаются вообще.
Я обнаружил, что эта проблема начинается после Primefaces 6.2. В Primefaces 6.2 версия jQuery увеличена до версии 3.2.1. Единственное изменение, которое я сделал, это то, что я обновил файлы js с точки зрения on('load'), удалив функцию .load(). Есть проблема с медлительностью, но ошибок в консоли браузера нет.
Затем я установил jQuery 2.2.4 с помощью специального обработчика в Primefaces 10, и это устранило проблему. Итак, проблема начинается после того, как jquery становится выше 3.0.x. Но я не могу использовать 2.2.4 по двум причинам. Во-первых, развертывание на стороне сервера не происходит, когда я использую собственный обработчик для jQuery. Во-вторых, он создает среду для уязвимостей безопасности.
Что может быть причиной этой проблемы выше 3.0.x и как ее решить?

РЕДАКТИРОВАТЬ:

ПРЕДУПРЕЖДЕНИЕ КОНСОЛИ: jQuery(window).on('load'...) вызывается после события загрузки произошло
@Melloware
У меня был этот код в resources/default/js/menu.js

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

jQuery(document).ready(function ($) {
$(window).load(function () {
setTimeout(function () {
$(LOADER).fadeOut('slow', function () {
});
}, LOADER_DELAY);
});
});
Я изменил его на:

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

jQuery(document).ready(function ($) {
$(window).on("load",function () {
setTimeout(function () {
$(LOADER).fadeOut('slow', function () {
});
}, LOADER_DELAY);
});
});
Теперь, используя плагины jquery-migrate, я получил предупреждение
событие on("load") начинается после события загрузки
I разделенный код на:

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

jQuery(document).ready(function ($) {

});

$(window).on("load",function () {
setTimeout(function () {
$(LOADER).fadeOut('slow', function () {
});
}, LOADER_DELAY);
});
Сейчас страница загружается, но хороший ли это подход?
EDIT2:
Если я разделю такой код (разделяющий готовый документ и загруженный), приложение не развертывается на сервере. Я меняю файл, расположенный в webapp/resources/default/js/menu.js. Когда я возвращаюсь в старое состояние, оно развертывается на сервере. Сбой развертывания не дает никаких ошибок. Каким-то образом изменение в этом js-файле нарушает развертывание сервера. Как я могу это решить?

Подробнее здесь: https://stackoverflow.com/questions/783 ... -increased
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»