Wymiary okna z uwzględnieniem przewijania w JavaScript

Pozyskajmy wymiary okna z uwzględnieniem przewiniętej części. Niestety, nie ma wygodnego sposobu, który działa we wszystkich przeglądarkach. Poniżej przedstawiono działające rozwiązania. Nie warto się w nie wgłębiać, po prostu użyj.

Wysokość z uwzględnieniem przewiniętej części:

javascriptlet scrollHeight = Math.max(
  document.body.scrollHeight, document.documentElement.scrollHeight,
  document.body.offsetHeight, document.documentElement.offsetHeight,
  document.body.clientHeight, document.documentElement.clientHeight
);

console.log(scrollHeight);

Szerokość z uwzględnieniem przewiniętej części:

javascriptlet scrollWidth = Math.max(
  document.body.scrollWidth, document.documentElement.scrollWidth,
  document.body.offsetWidth, document.documentElement.offsetWidth,
  document.body.clientWidth, document.documentElement.clientWidth
);

console.log(scrollWidth);
Задание 1

Po kliknięciu przycisku wyświetl wysokość z uwzględnieniem przewiniętej części.

Задание 2

Po kliknięciu przycisku wyświetl szerokość z uwzględnieniem przewiniętej części.

Задание 3

Po kliknięciu przycisku wyświetl wysokość części ukrytej pod przewijaniem.