Использование AJAX только для всего сайта, оптимально или нет - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть структура шаблона, в которой есть один файл HTML, внутри которого загружаются связанные файлы HTML и JS (с использованием AJAX).

Раздел загружается в соответствии с действиями пользователя (страница никогда не перезагружается, какого родаэто хорошо для пользовательского опыта).т.е.

Пользователь щелкает меню «Профиль», что вызывает:

  1. jQuery.load метод используется для загрузки файла "/ some/path/profile.html".

  2. jQuery.getScript используется в обратном вызове .load () для включения js-файлов, таких как "some"/path/profile.js", В профиле js есть обработчики событий для страницы профиля вместе со связанной бизнес-логикой.

Это происходит для каждого пункта меню / раздела приложения, например «Профиль»."," Файлы "," Панель инструментов "и т. Д.

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

  • ЕслиСледовательно, пользователь дважды нажимает кнопку «Профиль», будет ли браузер очищать ранее загруженные ресурсы (profile.html, profile.js) перед его новой загрузкой?

  • Когда пользователь посещаетВ новом разделе «Панель инструментов» после посещения «Профайла» браузер снова очистит ресурсы профиля перед загрузкой для Панели мониторинга?

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

enter image description here

PS: в этой структуре часто часть HTML хранится в переменной JS для дальнейшего использования.Я где-то читал в SO, что это плохая практика, но я не смог найти подробностей об этом.Я предполагаю, что это не должно быть -ve, если разработчик хорошо разбирается, и сохранение HTML в переменной JS не должно быть проблемой.

1 Ответ

0 голосов
/ 13 декабря 2018

Вот мое понимание по этому вопросу:

  • Вы должны убедиться, что не отправляете запрос, если нажимаете на ту же кнопку на своем конце.
  • (Забыли о насработа со скриптами / HTMl) Нет кэширования на картинке
  • Очистка ресурсов? Да, он будет удален из DOM, если будет добавлен в тот же раздел.Но я думаю, что это необходимо, если для каждого раздела используется один и тот же заполнитель.
  • Если вы знаете, что каждый раз, когда каждый раздел будет возвращать один и тот же шаблон, вы можете создать локальный кэш на стороне клиента так же, как и для создания заметок, чтобы увидеть, является ли шаблонуже существует.

Надеюсь, это поможет.

...