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