J'utilise la self.open()
de Javascript pour ouvrir un lien dans une nouvelle fenêtre et j'aimerais que cette fenêtre soit agrandie. J'ai essayé le fullscreen=yes
option, qui ne fait vraiment pas ce que je veux. J'utilise le code ci-dessous:
self.open(pageLoc,popUpName,'height=1600,width=1800,resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes');
Si je mentionne aussi fullscreen=yes
, la fenêtre s'ouvre lorsque vous appuyez sur F11. Mais je ne le veux pas. Ce que je veux, c’est quand je double-clique sur C’EST-À-DIRE et cliquez sur l’icône Agrandir dans le coin supérieur droit.
Comme j'ai donné la valeur height
et width
si grande, elle est proche de la fenêtre agrandie mais pas de la fenêtre agrandie réelle. (La raison pour laquelle je dis cela parce que même maintenant, si je clique sur le bouton Agrandir, il se développe un peu plus loin)
var params = [
'height='+screen.height,
'width='+screen.width,
'fullscreen=yes' // only works in IE, but here for completeness
].join(',');
// and any other options from
// https://developer.mozilla.org/en/DOM/window.open
var popup = window.open('http://www.google.com', 'popup_window', params);
popup.moveTo(0,0);
Veuillez vous abstenir d'ouvrir la fenêtre contextuelle, sauf si l'utilisateur le souhaite vraiment, sinon ils vous maudiront et mettront votre site en liste noire. ;-)
edit : Oups, comme le souligne Joren Van Severen dans un commentaire, il est possible que cela ne prenne pas en compte les barres de tâches et les décorations de fenêtres (de manière éventuellement dépendante du navigateur ). Savoir. Il semble qu’ignorer la hauteur et la largeur (seul param est fullscreen=yes
) semble fonctionner sur Chrome et peut-être aussi Firefox; la fonctionnalité "plein écran" d'origine a été désactivée dans Firefox pour être odieux, mais a été remplacée par une maximisation. Cela contredit directement les informations du même page de https://developer.mozilla.org/en/DOM/window.open qui indique que l'optimisation de la fenêtre est impossible. Cette "fonctionnalité" peut ne pas être prise en charge selon le navigateur .
window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
La meilleure solution que j'ai trouvée à l'heure actuelle pour ouvrir une fenêtre agrandie est (Internet Explorer 11, Chrome 49, Firefox 45):
var popup = window.open("your_url", "popup", "fullscreen");
if (popup.outerWidth < screen.availWidth || popup.outerHeight < screen.availHeight)
{
popup.moveTo(0,0);
popup.resizeTo(screen.availWidth, screen.availHeight);
}
voir https://jsfiddle.net/8xwocrp6/7/
Remarque 1 : Cela ne fonctionne pas sur Edge (13.1058686). Je ne sais pas si c'est un bogue ou si c'est conçu (j'ai rempli n rapport de bogue , nous verrons ce qu'ils ont à dire à ce sujet). Voici une solution de contournement:
if (navigator.userAgent.match(/Edge\/\d+/g))
{
return window.open("your_url", "popup", "width=" + screen.width + ",height=" + screen.height);
}
Note 2 : moveTo
ou resizeTo
ne fonctionnera pas (accès refusé) si la fenêtre que vous ouvrez se trouve sur un autre domaine.
Si j'utilise Firefox, alors screen.width
et screen.height
fonctionne bien mais dans IE et Chrome, ils ne fonctionnent pas correctement, mais ils s’ouvrent à la taille minimale).
Et oui, j'ai essayé de donner trop de chiffres comme 10000
pour height
et width
mais pas exactement pour l’effet maximisé.
Commander ce plugin de fenêtre jquery: http://fstoke.me/jquery/window/
// create a window
sampleWnd = $.window({
.....
});
// resize the window by passed w,h parameter
sampleWnd.resize(screen.width, screen.height);