Дело в том что пытаюсь получить реальную ширину документа, точнее его правую границу. Попробовал такой код:
window.onresize=getContentWidth;
function getContentWidth()
{
div_fv=document.createElement('div');
div_fv.style.position="absolute";
//
document.body.appendChild(div_fv);
while (document.body.childNodes.length>4)
{
var first_el=document.body.firstChild;
if(first_el.id!="rig_zg"&&first_el.id!="rig_ban") // это мои элементы, которые не нужно считать
div_fv.appendChild(first_el);
}
//
doc_maxX_fv=div_fv.getBoundingClientRect().right;;
//
var insEl=document.getElementById("rig_zg");
while (div_fv.childNodes.length>0)
{
document.body.insertBefore(div_fv.firstChild,insEl);
}
document.body.removeChild(div_fv);
return doc_maxX_fv;
};
Работает только на фоксе - в IE и в опере getBoundingClientRect().right не изменяется при ресайзе окна (а должен, так как блочные элементы сжимаются друг-к-другу, если окошко сделать поменьше), но при запуске - стабильно. Правда ИЕ тормозит сильно..
1. Что сделать, чтобы работало при ресайзе на ИЕ и опере?
2. Правильный ли это метод, если нет, то как получить? Оговорка - родительский тег div я в документе оставить не могу, иначе порушу некоторые чужие скрипты, поэтому сначала создаю, потом удаляю.