Показать сообщение отдельно
  #4 (permalink)  
Старый 18.07.2011, 09:04
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от andy_quarry
С onLoad тоже логики не вижу. Если я сбросил всё содержимое body, как Вы выразились, и браузер фактически загрузил снова все объекты по второму разу (что отражается на счетчике, к примеру), то и событие onLoad он должен был бы вызвать повторно (а обработчик его ведь так и висит на body, поскольку изменен был innerHTML, а не outerHTML).
Есть логика. Да хотя бы в названии. Onload - событие, наступающее при полной загрузке (ну и рендере, да) документа с сервера. А тут перезагрузки с сервера нету, только перендер. С таким же успехом можно ожидать событие onload, если, скажем, удалить все элементы со страницы (с помощью removeElement), а потом добавить новый.
Сообщение от andy_quarry
"Мёртвая" ссылка должна быть именно мёртвой после сброса всего содержимого body. Однако в реальности приходится сталкиваться с тем, что после перезагрузки страницы сохранилась не только сама переменная ptrID, но и тот объект, на который она ссылалась до перезагрузки.Так быть не должно, ИМХО. Это крайне нелогично.
Вполне логично. Браузер не знает, будете ли вы пользоваться ещё тем объектом, на который получили ссылку через getElementById.
Сообщение от andy_quarry
Так быть не должно, ИМХО
Вам в w3c)
Сообщение от andy_quarry
Ну, т.е. итог: вижу, что этого всего абсурда обойти не удастся кроме как цеплять div через createElement. И, похоже, что body.innerHTML лучше вообще не трогать, ибо при работе с ним мы всегда сначала создаём его копию, а затем совершаем присвоение со всеми неизбежными неприятностями.
Правильный вывод. Плюс createElement (и appendChild/insertBefore дальше) работают быстрее, чем если создавать элементы через innerHTML.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 18.07.2011 в 09:07.
Ответить с цитированием