質問

次のコードを使用して、フォームボタンを介して中央にブラウザウィンドウを起動しようとしています...

http://www.bbc.co.uk','testwin','width=400, height=400, left=(screen.availWidth-400)/2, top=(screen.availHeight-400)/2' );falseを返します ">テストボタン

新しいブラウザは正しい高さと幅で表示されますが、left 属性と top 属性は無視されるため、ウィンドウは左上に表示されます。

このコードをインラインにしようとするのは野心的すぎますか?他に使用すべき構文はありますか、それとも諦めて代わりに関数を呼び出す必要がありますか (できれば避けたほうが良いと思います)。

Firefox 3.0.17 (最新) を使用していますが、IE7 でも同じ現象が発生します。

ティア、アラン・ハリス・リード

役に立ちましたか?

解決

http://www.tek-tips.com/faqs.cfm?fid=2296 その方法を説明します。ただし、ポップアップ ブロッカーがあるため、代わりにフローティング Div を使用することをお勧めします。

高さ 200 x 幅 150 のサイズの窓を開けたいとします。高さと幅の半分 (それぞれ 100 と 75) を取得することで、ウィンドウの中心を正確に指定できます。次に、少し計算するだけでウィンドウを中央に配置できます。その方法は次のとおりです

<SCRIPT LANGUAGE="JavaScript">
function MyPopUpWin() {
var iMyWidth;
var iMyHeight;
//half the screen width minus half the new window width (plus 5 pixel borders).
iMyWidth = (window.screen.width/2) - (75 + 10);
//half the screen height minus half the new window height (plus title and status bars).
iMyHeight = (window.screen.height/2) - (100 + 50);
//Open the window.
var win2 = window.open("filename.htm","Window2","status=no,height=200,width=150,resizable=yes,left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no");
win2.focus();
}
</SCRIPT>

HTML でこの関数を呼び出すには、これを使用します。

<A HREF="javascript:MyPopUpWin()">This is the link</a>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top