ホームページ >ウェブフロントエンド >jsチュートリアル >シングル モニターとデュアル モニターの両方のセットアップでポップアップ ウィンドウを画面の中央に配置するにはどうすればよいですか?

シングル モニターとデュアル モニターの両方のセットアップでポップアップ ウィンドウを画面の中央に配置するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 19:11:02509ブラウズ

How to Center a Popup Window on Screen in Both Single and Dual Monitor Setups?

ポップアップ ウィンドウを画面の中央に配置する方法

ポップアップ ウィンドウを画面の中央に配置するには、JavaScript の window.open 関数と追加の計算を利用して正確な値を決定できます。現在の画面解像度に基づく x 座標と y 座標。

シングル/デュアル モニター関数

シングル モニターとデュアル モニターの両方のセットアップの場合、次の関数は、ポップアップ ウィンドウを効果的に水平方向に中央に配置します。完全に最大化されていない可能性があります:

<code class="javascript">const popupCenter = ({url, title, w, h}) => {
  // Adjust for dual-screen position
  const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
  const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;

  // Calculate available screen dimensions
  const width = window.innerWidth || document.documentElement.clientWidth || screen.width;
  const height = window.innerHeight || document.documentElement.clientHeight || screen.height;

  // Adjust for system zoom
  const systemZoom = width / window.screen.availWidth;

  // Calculate centered coordinates
  const left = (width - w) / 2 / systemZoom + dualScreenLeft
  const top = (height - h) / 2 / systemZoom + dualScreenTop

  // Open the new window
  const newWindow = window.open(url, title, 
    `
    scrollbars=yes,
    width=${w / systemZoom}, 
    height=${h / systemZoom}, 
    top=${top}, 
    left=${left}
    `
  )

  // Bring the new window to focus
  if (window.focus) newWindow.focus();
}</code>

使用例

画面解像度 900x500 でタイトル「XTF」のポップアップ ウィンドウを中央に配置するには:

<code class="javascript">popupCenter({url: 'http://www.xtf.dk', title: 'XTF', w: 900, h: 500});</code>

以上がシングル モニターとデュアル モニターの両方のセットアップでポップアップ ウィンドウを画面の中央に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。