※ ChatGPTを利用し、要約された質問です(原文:onResize を Win と Mac で動作させたい)
JavaScriptでの画面サイズ固定とリサイズについて
このQ&Aのポイント
JavaScriptを使用して、WinとMacの両方で画面サイズを固定し、リサイズする方法について教えてください。
現在、JavaScriptを使用してHPを作成しています。Win版IE6.0とNN7.1、Mac版NNでは動作確認ができていますが、Mac版IEでは動作しません。
HPの仕様は、Frameを使用し、上・中・下の3つに画面を分けており、JavaScriptはフレーム上の中で使用しています。
onResize を Win と Mac で動作させたい
現在、JavaScriptを組み込んでHPを作成しています。
Win版IE6.0,NN7.1,Mac版NNでは動作の確認ができているのですが、
Mac版IE(すみません、バージョンが不明です)では動作せず頭を悩ませています。
もし原因がおわかりの方がいらっしゃいましたら、ご教示下さい。宜しくお願い致します。
JavaScriptで行いことは以下の二つです。
・ページにアクセスした際に、画面の大きさを固定する。
・画面(ブラウザ自体)の大きさが変更された際に、もとの大きさにリサイズする。
MacのIEのみ上記二つが動作しません。
HPの仕様は以下の通りです。
・ Frameを使用し、上・中・下と3つに画面を分けています。このFrameは全てリサイズ禁止です。及びスクロールバーも表示しません。
・ フレーム上の中でJavaScriptを使用しています。
・ JavaScriptは外部ファイルで保持しています。
以下に、JavaScriptを記載いたします。
<外部ファイル>
function winResize(width, height)
{
if ( navigator.appName == "Netscape" )
{
window.parent.innerWidth = width;
window.parent.innerHeight = height;
}
else
{
// IE
var innerWidth = window.parent.document.body.clientWidth;
var innerHeight = window.parent.document.body.clientHeight;
// まず横
if( innerWidth == 760 )
{
// 特に何もしない
}
else
{
var temp = 760 - innerWidth;
window.parent.resizeBy( temp, 0 );
}
// そして縦
if( innerHeight == 500 )
{
// 特に何もしない
}
else
{
var temp = 500 - innerHeight;
window.parent.resizeBy( 0, temp );
}
}
<フレーム上内の記述/ HEAD 内に記述>
<script language="JavaScript">
<!--
function changeSize()
{
winResize(760,500);
}
window.onresize=changeSize;
window.onload=changeSize;
//-->
</script>
お礼
ご回答ありがとうございます。 お礼が遅くなって申し訳ありません。 大変参考になりました(^-^) 頂いた回答を参考にさせていただいています。 まだちゃんと動いていないのですが、 もう少しのような気がします。 どうもありがとうございました。