Добавление контента в DOM: есть ли ограничения? - PullRequest
0 голосов

Вопрос может быть немного теоретическим (я имел в виду риторический?) Или нечетким, но в любом случае он здесь.

Я планирую создать веб-страницу, на которой контент будет добавляться с помощью запросов Ajax и отображаться с использованием вкладок и панелей. Первоначальный вид имеет только одну вкладку и показывает список ссылок. При нажатии на ссылку открывается новая вкладка / панель. Пользователь может перемещаться по вкладкам и закрывать их, как в веб-браузере.

Я мог бы создать пользовательский интерфейс, способный отображать неограниченное количество вкладок, но это подразумевает добавление содержимого DOM к как можно большему количеству панелей. Скорее всего, я установлю ограничение на количество вкладок, которые могут быть открыты одновременно. Но каким должен быть этот предел? Какому правилу вы будете следовать? Как вы оцениваете, сколько контента может содержать документ DOM, не влияя на производительность?

1 Ответ

2 голосов
/ 16 мая 2011

Нет возможности ответить на ваш вопрос. У меня, например, сейчас Chrome и Firefox работают бок о бок. Всем браузерам вместе требуется 9,85 ГБ разделяемой памяти (поэтому часть этой ОЗУ распределяется между всеми браузерами; у меня всего 8 ГБ ОЗУ и фактически используется около 2 ГБ).

Нет JavaScript API, который бы указывал, когда память становится нехваткой; единственным признаком является то, что машина начинает перестановку или что происходит сбой браузера.

Итак, у вас есть следующие решения:

  1. Ограничить пользователя чем-то слишком маленьким. Хорошо для вас, плохо для опытных пользователей, таких как я.

  2. Установить слишком большое ограничение. Это плохо для вас, поскольку пользователи начнут жаловаться на то, что ваш тупой сайт приводит к сбою браузера, но это хорошо для меня.

  3. Вместо установки предела очистите панели, которые не видны. Сохраните где-нибудь состояние панели (сервер, локальное хранилище ) и восстановите его, когда пользователь откроет его. Немного усилий, но это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...