9967 sujets

JavaScript, DOM et API Web HTML5

bonjour
j'ai un javascript qui m'ouvre un popup centré onclick mais je suis oblige de renseigner la largeur et la hauteur de chaque popup

var newWin = null;

function Popup(strU, strO, strW, strH) {
    "use strict";
    if (newWin !== null) {
        if (!newWin.closed) {
            newWin.close();
        }
    }
    var Saf = navigator.userAgent.indexOf("Safari") !== -1;
    var Op = navigator.userAgent.indexOf("OPR/") !== -1;
    var strHOp = strH + 80;
    var strHSaf = strH - 40;
    var top = (screen.height - strH) / 2;
    var topSaf = (screen.height - strHSaf) / 2;
    var topOp = (screen.height - strHOp) / 2;
    var left = (screen.width - strW) / 2;
    if (Saf) {
        strO = "status,top=" + topSaf + ",left=" + left + ",width=" + strW + ",height=" + strHSaf;
    }
    if (Op) {
        strO = "status,top=" + topOp + ",left=" + left + ",width=" + strW + ",height=" + strHOp;
    } else {
        strO = "status,top=" + top + ",left=" + left + ",width=" + strW + ",height=" + strH;
    }
    newWin = window.open(strU, "newWin", strO);
    newWin.focus();
}


<a href="monpopup1.htm"  onclick="Popup(this.href,'fixed',360,270);return false;">mon popup</a>

<a href="monpopup2.htm"  onclick="Popup(this.href,'fixed',380,280);return false;">mon popup</a>


et sur la page mompopup1.htm j'ai une div avec hauteur et largeur
<div  width="330" height="145">etc etc</div>

et sur la page mompopup2.htm j'ai une div avec hauteur et largeur
<div  width="350" height="155">etc etc</div>

etc

j'ai de nombreux pages de popup à ouvrir qui sont de tailles differentes, au lieu d'etre oblige renseigner a chaque fois la taille du popup comme
 onclick="Popup(this.href,'fixed',360,270);
je voudrais que le javascript aille chercher la taille de la div du popup, pour ouvrir le popup en consequence donc mettre un code generique
style
 onclick="Popup(this.href,'fixed',width,height);


est-ce poppsible? comment chercher une taille sur une page externe?
merci
Modifié par nantais (09 Aug 2017 - 15:06)