Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Загрузка файла без AJAX. (https://javascript.ru/forum/css-html-internet-explorer/9036-zagruzka-fajjla-bez-ajax.html)

Kolyaj 26.04.2010 16:06

Цитата:

Сообщение от B~Vladi
Не знаю, поймёте, нет...

Пока поняли, что всё слишком сложно. Проще надо быть, проще.

B~Vladi 26.04.2010 16:27

Цитата:

Сообщение от Kolyaj
Проще надо быть, проще.

Согласен.

Ну раз предложений больше никаких нет, то вот ещё одна задачка.
Мониторинг DOM. Существуют 2 подхода:
1. setTimeout. Тут 2 проблемы: пока я не знаю как можно замерять производительность таймеров (т.е. насколько сильно они будут грузить проц) и придётся перебирать весь DOM в поисках изменений.

2. Обработка событий изменения элементов. Для ишака придётся поменять стандартные appendChild и т.п., чтобы мониторинг срабатывал, что мне оооочень не нравится. Но за то есть плюсы: не грузит проц в холостую и массив изменений приходит без лишнего мусора.

Сейчас я склоняюсь к второму варианту. Что думаете?

B~Vladi 26.04.2010 19:55

Чо вообще никаких мыслей нет?

subzey 27.04.2010 10:24

А если onpropertychange, DOMTreeModified и иже с ними?

Kolyaj 27.04.2010 10:25

Цитата:

Сообщение от subzey
А если onpropertychange

Не всплывает. Не на каждый же элемент вешать.

B~Vladi 27.04.2010 10:43

Цитата:

Сообщение от Kolyaj
Не на каждый же элемент вешать.

В том то и дело что нужно на каждый...
Цитата:

Сообщение от subzey
А если onpropertychange, DOMTreeModified и иже с ними?

Это и есть второй вариант.

subzey 27.04.2010 11:09

Да, не всплывает. А что еще делать? 30 раз в секунду проверять всё дерево на предмет обнаружения изменений? Лучше уж сразу
alert("Ваша программа для просмотра интернетов не является браузером");
return;


Цитата:

Сообщение от B~Vladi
придётся поменять стандартные appendChild

…заодно учитывая, что прототипное наследование методов нод не работает в IE6. Да и про .innerHTML надо не забыть, а это вообще сеттер, которых в вышеупомянутом старичке нет в помине.

Я недавно пытался подлатать DOM (с маджонгом и гейшами, конечно же) для IE6, но пришлось бросить. Это клиника, господа, полная клиника.

Kolyaj 27.04.2010 11:11

subzey,
вот поэтому и не надо выпендриваться, пытаясь сделать невозможное.

B~Vladi 27.04.2010 11:14

Цитата:

Сообщение от subzey
Да и про .innerHTML надо не забыть, а это вообще сеттер, которых в вышеупомянутом старичке нет в помине.

Насчет innerHTML. Он смотрится на каждой ноде через onpropertychange.
Т.е. получается что нужно на все ноды навешивать обработчик и менять кучу методов. По-моему говнокод...

B~Vladi 27.04.2010 11:15

Либо нужно придумать хитрый алгоритм, чтобы не перебирать весь DOM в таймерах. Что-то я не уверен в успехе...


Часовой пояс GMT +3, время: 05:29.