Firefox、Safari、および Chrome で発生する奇妙な動作のように思えることに、1 時間以上も費やしたに違いありません。ここにいくつかのコードがあります:
<!doctype html>
<html>
<head>
<title>Watch me grow scrollbars!</title>
</head>
<body onload="resizeCanvas()">
<canvas id="canvas"></canvas>
</body>
</html>
<script type="application/javascript">
function resizeCanvas() {
var canvas = document.getElementById("canvas");
canvas.setAttribute("height", window.innerHeight);
canvas.setAttribute("width", window.innerWidth);
}
</script>
基本的に、キャンバスは常に「大きすぎる」ように見え、ウィンドウは両側のスクロールバーを大きくします。document.documentElement.clientWidth/Height プロパティを抽出するだけでなく、100% 幅 & 高さの絶対配置 div にキャンバスをネストするなど、ドキュメントのサイズを取得するさまざまな方法を使用してみました。
気が狂わないようにするために、キャンバスの代わりに画像を配置しました。ほら、同じコードが完全に機能して、画像をドキュメントの寸法に引き伸ばしました。
ここで何が間違っていますか?疲れすぎて理解できません。何かを飲む必要があります。