次のコードでうまくいきます。シーンが最初に設計されたウィンドウのサイズ(1920 * 965)を考慮して、このコードは親コンテナの現在のサイズを取得し、シーンが含まれるDivを元の1920*965と比較してスケーリングします。注-シーン内の要素の3Dスケーリングを実行しようとはしませんが、シーン全体を含むdivをスケーリングし、内部にあるものは自動的にサイズ変更されます。
親コンテナをスケーリングすると、シーンが画面の中心から離れる方向に移動するため、コードがDivを正しい位置に配置するために、負の座標を使用してシーンの位置を左と上にシフトする方法にも注意してください。
function resizeWin() {
wW = ourDiv.parentNode.offsetWidth;
wH = ourDiv.parentNode.offsetHeight;
var scaler=Math.min(wW/1920, wH/965); // original screen was designed in full HD Chrome
var w=wW/scaler;
var h=wH/scaler;
var left=(w-scaler*w)/2;
var top=(h-scaler*h)/2;
var style = "width:"+w+"px; height:"+h+"px;"+allStyles("-webkit-transform: translate(-"+left+"px,-"+top+"px) scale("+scaler+");");
ourDiv.setAttribute("style", style);
redrawScene();
}