Размер содержимого WPF WebBrowser - PullRequest
1 голос
/ 17 мая 2011

Я рассмотрел все связанные вопросы, но не смог получить ответ.

Как получить текущий размер содержимого элемента управления WebBrowser в WPF?

1 Ответ

4 голосов
/ 17 мая 2011

Чтобы определить фактический размер (используя javascript) окна браузера, используйте следующие свойства:

в Internet Explorer (режим обратной совместимости):

document.body.offsetWidth, document.body.offsetHeight

в Internet Explorer(стандартный режим, document.compatMode == 'CSS1Compat'):

document.documentElement.offsetWidth, document.documentElement.offsetHeight

в большинстве других браузеров:

window.innerWidth, window.innerHeight
The following code sets the variables winW and winH to the actual width and height of the browser window, and outputs the width and height values. If the user has a very old browser, then winW and winH are set to 630 and 460, respectively.

var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
 winW = document.body.offsetWidth;
 winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
    document.documentElement &&
    document.documentElement.offsetWidth ) {
 winW = document.documentElement.offsetWidth;
 winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
 winW = window.innerWidth;
 winH = window.innerHeight;
}

document.writeln('Window width = '+winW);
document.writeln('Window height = '+winH);

В вашем браузере этот код выдает следующий вывод:

Window width = 1280
Window height = 675

Примечания:

  1. Если приведенный выше код выполняется внутри фрейма или фрейма, он даст вам ширину и высоту фрейма.
  2. Вычисленные ширина и высота не включают строку заголовка, строку меню, строку состояния или панель (и) инструментов - но могут включать в себя горизонтальную и вертикальную полосы прокрутки, если таковые имеются.
  3. Код, который использует document.body.offsetWidth и offsetHeight, должен выполняться после того, как браузер проанализировал тег.
  4. Если пользователь изменяет размеры окна браузера, вам может потребоваться пересчитать ширину и высоту (для этого используйте window.onresize).
  5. Аналогично, если пользователь увеличивает (или уменьшает), вам также может понадобиться пересчитать ширину и высоту.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...