Система HTML/Javascript для множества разных всплывающих окон и виджетов на одной странице

Я делаю HTML5-страницу (игру), которая использует много всплывающих окон и все виды виджетов, появляющихся и исчезающих на одной странице.

Чтобы реализовать это я мог

  • Сделайте так, чтобы все всплывающие окна и виджеты были перечислены на странице, невидимы (как много примеров, которые я видел), и продолжайте переключать только видимость.

  • Добавляйте и удаляйте динамически, используя Javascript. Я мог бы поместить каждое всплывающее окно как фрагмент HTML в отдельный файл (?).

Секунды являются "модульными", и мне нравится тот факт, что у меня нет элементов на странице, которые я не использую на самом деле. Но я не знаю о производительности (загрузка HTML каждый раз, вставка DOM и т. Д.).

Есть ли предпочтительный / стандартный способ сделать это?

1 ответ

Если мы говорим о загрузке HTML с сервера, то, очевидно, это будет неэффективно.

Я не знаю, какую игру вы пишете, но я не думаю, что будет какая-то видимая разница в производительности (за исключением загрузки данных с сервера), если вы не создадите тысячи всплывающих окон в секунду (я сомневаюсь в этом). Давайте будем честными - ваша игра не использует 4 ГБ памяти.:) А если это так, то вы, вероятно, делаете что-то не так. И я не думаю, что есть какой-либо стандартный способ. Это больше похоже на то, как ты это чувствуешь.:)

Например, я всегда пытаюсь загрузить все возможные данные с сервера одним запросом и сохранить их на стороне клиента, потому что большинство проблем с производительностью на самом деле связано с коммуникацией клиент-сервер. Мне также нравится, что DOM чист, поэтому в большинстве случаев я храню (скрытые) данные в JavaScript, за исключением скрытых полей форм.

С другой стороны, если у меня есть, например, блог с обсуждением, и я загружаю некоторые дополнительные данные (например, пользовательские данные, которые должны отображаться в виде всплывающего окна после нажатия на имя пользователя), я склонен хранить его в элементах DOM, потому что он Проще (по крайней мере, для меня) управлять им (я говорю о jQuery и jQuery UI).

Обратите внимание, что возможно, что воссоздание всплывающих окон может привести к утечкам памяти, но это очень маловероятно, если вы используете какую-то популярную библиотеку, например (например) jQuery UI.

Другие вопросы по тегам