это, конечно, круто. Я ж и не спорю :) Но это оффтоп.
Итак, мои 3 варианта отслеживания изменений в DOM:
1. Только ХАРДКОР!!1
setInterval(function () {
if (oldHeight != newHeight) {
// update
}
}, 10);
Решение в лоб, эффективно на 146%, кроссбраузерно, просто и сердито.
Чем меньше интервал, тем более отзывчив интерфейс и больше нагрузка на браузер.
2. DOM level 2-3 mutation events
Элегантное решение, но далеко не кроссбраузерное. Не проверял, но пишут, что некоторые даже самые новые версии браузеров не поддерживают эти события или есть баги.
3. ХАРДКОР-2
Переопределяем все нативные методы браузера для работы с DOM на уровне прототипов, чтоб они извещали об изменениях в DOM'е.
Кроссбраузерно (по идее, не уверен), очень много кода (из-за различных реализаций javascript в разных браузерах). Предположительная эффективность - 100%
Any ideas ?
_____________
Профессиональная разработка на заказ
Я на GitHub | второй профиль