Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получить размеры рабочей области окна в Chrome (https://javascript.ru/forum/events/21502-poluchit-razmery-rabochejj-oblasti-okna-v-chrome.html)

unclechu 12.09.2011 19:26

Получить размеры рабочей области окна в Chrome
 
В общем стоит следующая задача задача: я создаю новое окно window.open(…), внутри примитивный html-код, css таков:
html, body {width: 100%; height: 100%;}
html {overflow: hidden;}
* {margin: 0; padding: 0; border: 0;}

И мне нужно получить размер рабочей области окна. В моём арсенале так же jQuery. Я получаю в любом из браузеров (кроме Chrome) это следующим образом:
var wnd = window.open('', 'olalaWND');
wnd.document.open();
wnd.document.write(html);
wnd.document.close();
$(wnd.document).width();
$(wnd.document).height();

Сам html код внутри окна следующий:
<html><head><title>check</title>
<style type="text/css">html, body {width: 100%; height: 100%;} html {overflow: hidden;} * {margin: 0; padding: 0; border: 0;}</style>
</head><body></body></html>

Дак вот, везде размеры я получаю без проблем. Но в Chrome полная труба, я долго возился, что только я не прибовал, ничего не вышло, вылазит нуль и всё тут, для Chrome 100% == 0, у меня постепенно появляется ощущение, что я начинаю не любить Chrome больше Opera и даже больше IE6! Там хоть как-то выкрутиться можно, а тут ни вправо ни влево. Я и блоки внутри вкладывал, обворачивал, и пробовал инкрементить по пикселю до появления скрулла, но! Если например внутри есть 100px блока и делаем scrollBy(40000, 0), получим document.scrollLeft == 100, при том, что на самом деле никакого скрулла и сдвига по скруллу в помине нету. Полная труба. Помогите, у кого какие идеи есть?

Я даже пробовал создавать Input и инкрментить ему отступ и передавать фокус, в надежде, что если появился скрулл он сдвинется к месту фокуса, но не тут-то было, пока ничего не тыкнешь, к месту фокуса скрулла не видать.

unclechu 13.09.2011 01:37

Проблема решена тут: http://forum.vingrad.ru/forum/topic-...entheight.html


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