Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Как подкинуть деток? :-)

Задача такова: есть два разных фрейма, в одном их которых (frame1) живет многодетная "мамаша" (mama1) с "выводком" деток (childNodes). Ей необходимо как можно скорее подкинуть всех своих деток бездетной даме (mama2), проживающей в другом фрейме (frame2).
Примечание 1: Требуется максимальная совместимость с максимальным числом браузеров.
Примечание 2: Не будет ничего страшного, если у mama1 дети останутся по-прежнему, а mama2 получит их клон-копии. Задача состоит лишь в наделении mama2 чужими детьми, т.к. сама она "бесплодна".
Примечание 3: Ни одна из мам - не я :-)))
----
Пока я вижу только 2 варианта:

Вариант 1:
Перебирая всех childNodes.length детей mama1, клонировать их методом importNode() в другой фрейм (frame2). А затем подкидывать их по одному второй маме (mama2) методом insertBefore(). Например, так (процедура находится в parent):

for (i=0; i < frame1.mama1.childNodes.length; i++)
{ var child = frame1.mama1.childNodes[i];
var clone = frame2.document.importNode(child,true);
frame2.mama2.insertBefore(clone);
}

К сожалению не все браузеры "понимают" DOM2-стандартный метод importNode(), и в частности такой распространенный, как MSIE. А удочерять детей иной расы (из чужого фрейма) метод insertBefore() позволяет только под NN7 и то, в нарушении существующего стандарта. Возможно под MSIE ему годится на замену insertAdjacentElement(), но я пока не успела с этим разобраться.

Вариант 2:

Импортировать во второй фрейм (frame2) саму mama1, со всеми ее чадами; "удочерить" ее; а затем перетаскивать ее детей по одному. Когда последний ребенок будет изъят - укокошить mama1.
К сожалению не знаю, можно ли исхитриться сразу убить mama1, чтобы ее дети при этом не погибли, а достались победителю.

Может быть еще другие варианты реализации? Поделитесь пожалуйста соображениями!
СообщениеАвторДата
Pipa29.03.2003 17:54
Dworkin29.03.2003 22:09
Pipa30.03.2003 01:34
Zooh31.03.2003 12:22
Pipa31.03.2003 13:43
Zooh02.04.2003 00:19
Pipa02.04.2003 03:51
Андрей М.02.04.2003 13:31
Zooh02.04.2003 11:54