Maison > interface Web > js tutoriel > Comment centrer une fenêtre contextuelle sur l'écran dans les configurations à un ou deux moniteurs ?

Comment centrer une fenêtre contextuelle sur l'écran dans les configurations à un ou deux moniteurs ?

Mary-Kate Olsen
Libérer: 2024-10-31 19:11:02
original
569 Les gens l'ont consulté

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

Comment centrer une fenêtre contextuelle à l'écran

Pour centrer une fenêtre contextuelle à l'écran, nous pouvons utiliser la fonction window.open de JavaScript et quelques calculs supplémentaires pour déterminer la valeur exacte Coordonnées x et y en fonction de la résolution actuelle de l'écran.

Fonction de moniteur simple/double

Pour les configurations à un et deux moniteurs, la fonction suivante centre efficacement la fenêtre contextuelle horizontalement tout en tenant compte de la possibilité qu'elle ne soit pas entièrement maximisée :

<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>
Copier après la connexion

Exemple d'utilisation

Pour centrer une fenêtre contextuelle à une résolution d'écran de 900x500 avec le titre "XTF" :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal