キャンバス要素を作成し、アスペクト比を維持しながら、JavaScriptを使用してビューポートで可能な限り大きくします。
iPadを回転させると、デバイスは最初にページを回転させ、その後でのみサイズ変更イベントを起動します。
問題は、横向き(幅約800px)から縦向き(約400px)の場合、その時点ではまだサイズ変更が行われていないため、体の一部が表示されないことです。この後、resizeイベントはキャンバスのサイズを正しいサイズに変更しますが、キャンバスの一部(およびドキュメント)はまだビューポートの外側にあります。
つまり、基本的に問題が存在するのは、ボディが広すぎるためにiPadがすでにボディの両側の一部を切り取った後にのみ、サイズ変更イベントが起動するためです。
補正するためにキャンバスにマージンを設定することでこれを修正できますが、それは汚い解決策です...誰かがより良い提案がありますか?