Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Opera игнорирует wrapper - слой (https://javascript.ru/forum/css-html-browser/10377-opera-ignoriruet-wrapper-slojj.html)

neurostep 01.07.2010 15:56

Opera игнорирует wrapper - слой
 
Здравствуйте, коллеги.

В последнее время я очень обозлен на браузер Оперу, особенно на десяточку - уж очень много багов из "неоткуда" появляется. Но если с определенными багами худо-бедно справлялся, то со следующим мучаюсь довольно давно.

так вот, есть такая html-конструкция:

<style type="text/style">
#container, #subcontainer {
    position:relative
}
</style>

<div id="container">
    <div id="subcontainer">
    </div>
</div>


так вот, при определенных условиях (например ввод текста юзера в форму и последующий сабмит) я добавляю динамически в #subcontainer элементы, стили у них прописаны в атрибуте style (position:absolute; left, top). То, что юзер ввел, я запоминаю в хэше ссылки(#user_data), дабы при обновлении страницы ему не приходилось заново вводить текст.

Так вот, если страница изначально была загружена как http://domain.ru, то все замечательно и предсказуемо выводится, но, если обновить страницу с заполненной юзером данными ранее, то есть http://domain.ru/#user_data , то все эжлементы, которые добавляются, просто игнорируют контэйнер с position:relative, и строятся относительно body.

Что я только не пробывал уже, да repaint/reflow делал с помощью вот этой функции:
function forceOperaRepaint() {
	if (window.opera) {
		var bs = document.body.style;
		bs.position = 'relative';
		setTimeout(function() {
			bs.position = 'static';
		}, 1);
	}
}


все равно ничего не выходит. Может знает кто, что с этим "чудом" делать?

Кстати, в Опера 9.X все нормально и косяков не наблюдается.

Заранее благодарю! :thanks:

Octane 01.07.2010 16:17

А можно локализированный пример с багом? Самому лень воспроизводить.


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