J'utilise window.open pour ouvrir une fenêtre contextuelle telle que:
<a href="http://path/to/url" onclick="window.open(this.href, 'sharegplus', 'height=485,width=700'); return false;" target="_blank">
Je veux que cela soit centré sur l'écran, mais sans avoir à utiliser <script> inline code </script>
et à entrer simplement ce dont j'ai besoin dans onclick=""
. Cela peut-il être fait?
C'est une mauvaise réponse. une réponse bien meilleure peut être trouvée ici: window.open () sur un système multi-moniteur/double moniteur - où la fenêtre apparaît-elle?
Mais dans l’intervalle, alors que je décide quand je veux mettre à jour cette réponse, ce fiddle compte pour les configurations à double moniteur: http://jsfiddle.net/w665x/138/
Cela pourrait fonctionner pour vous. Pas confiant que cela soit entièrement cross-browser, mais proche;
<html>
<head>
<script type="text/javascript">
function goclicky(meh)
{
var x = screen.width/2 - 700/2;
var y = screen.height/2 - 450/2;
window.open(meh.href, 'sharegplus','height=485,width=700,left='+x+',top='+y);
}
</script>
</head>
<body>
<a href="http://path/to/url" onclick="goclicky(this); return false;" target="_blank">blah</a>
</body>
</html>
Aussi, vous pouvez essayer:
$('a.popup-window').on('click', function(){
var w = 880, h = 600,
left = Number((screen.width/2)-(w/2)), tops = Number((screen.height/2)-(h/2)),
popupWindow = window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=1, copyhistory=no, width='+w+', height='+h+', top='+tops+', left='+left);
popupWindow.focus(); return false;
});
Et appelez:
<a href="https://google.com/" class="popup-window">Open in new window</a>
Ce code utilise le script jAplus. Cela vous permet de faire cela sans écrire de code JavaScript. ( http://japlus.simplit.it )
<head>
<script src="/path/to/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="/path/to/jquery.Aplus.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<a href="http://path/to/url" class="win win-center">
</body>
</html>
Ce code fonctionne parfaitement:
//Code Starts
$(document).ready(function() {
$('#Popup').click(function() {
var NWin = window.open($(this).prop('href'), '', 'height=800,width=800');
if (window.focus)
{
NWin.focus();
}
return false;
});
});
//Code Ends
<a href="http://www.google.com/" id="Popup">Open in Popup window</a>