Уже определилась>> Мысли вслух: решите для себя - или вы 100% следуете заветам DOM и плюете на то, что Опера там что-то неправильно показывает - у вас ведь в коде все правильно, следовательно, это проблема Оперы;
> Я уже определилась - следую DOM.
Тогда отстаньте от Оперы! :)
>Но ведь штуки типа > document.body.innerHTML = document.body.innerHTML; > как и проявляющиеся в Opera бяки, являются как раз следствием отступления от DOM.
Они не являются следствием отступления, они собственно отступлением и являются, имхо.
> В частности - грубейшей попыткой порождать nodes, загружая в innerHTML "сырой" HTML-текст, содержащий кодировку тегов.
А что такого уж грубейшего в порождении узлов? Какая разница откуда, важно, что в итоге мы имеем узлы.
> Согласно идеологии DOM (так как я ее поняла), каждый тег - это node, который должен быть либо явно порожден, либо имеется, как данность, в уже загруженной странице.
Очень мало что на свете "имеется как данность". Страница загрузилась, сработал парсер, породил узлы.
> Т.е. Opera вполне могла бы превратить, например, все угловые скобки тегов в загружаемом в innerHTML контексте в & lt; и & gt; и была бы права. Не обязан браузер порождать nodes в пост-загрузочном состоянии.
Браузер вообще обязан только страницы показывать :) Если вы протестуете против порождения узлов в пост-загрузочном состоянии - протестуйте против методов createElement и appendChild, они ваши главные враги :)
>Тем более, что после подобного рода загрузки можут возникнуть сколь угодно жуткие несооблазности в документе.
Несооблазности - это звучит :) Простите меня, понимаю, что очепятка, просто уж больно занятная :)
>Ведь в отличие от операций с nodes, имеющими "исключения" (по существу - отказ выполнения при возникновении противоречий), прямая загрузка лабуды в innerHTML не может быть приостановлена.
В конкретных реализациях - не может, а теоретически - точно так же могла бы швыряться исключениями при попытке присвоения "инвалидного" HTML. Другое дело, что разработчики этого не сделали. Собственно, я не до конца понимаю ваши претензии. В стандарте DOM, которому вы следуете, этого свойства нет. Так что вы вполне вольны заниматься поочередным importNode, как и предложили с самого начала. :) |