Dimensões da janela incluindo a parte rolada em JavaScript

Vamos obter as dimensões da janela incluindo a parte rolada. Infelizmente, não existe uma maneira conveniente que funcione em todos os navegadores. Abaixo estão apresentadas soluções que funcionam. Não é preciso entendê-las profundamente, apenas use-as.

Altura incluindo a parte rolada:

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);

Largura incluindo a parte rolada:

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

Ao clicar no botão, exiba a altura incluindo a parte rolada.

Задание 2

Ao clicar no botão, exiba a largura incluindo a parte rolada.

Задание 3

Ao clicar no botão, exiba a altura da parte escondida pela rolagem.