2012-04-24 13 views
37

Sto usando Javascript self.open() per aprire un collegamento in una nuova finestra e mi piacerebbe che la finestra fosse ingrandita. Ho provato l'opzione fullscreen=yes, che in realtà non fa quello che voglio. Sto usando il codice qui sotto:Come aprire la finestra ingrandita con Javascript?

self.open(pageLoc,popUpName,'height=1600,width=1800,resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes'); 

Se potuto menzionare anche fullscreen=yes, poi la finestra si apre come si preme F11. Ma io non lo voglio. Quello che voglio è quando faccio doppio clic su IE e fai clic sull'icona di ingrandimento nell'angolo in alto a destra.

Come ho dato il valore height e width così grande, è vicino alla finestra ingrandita ma non alla finestra ingrandita effettiva. (La ragione che sto dicendo questo perché anche ora se faccio clic pulsante di ingrandimento, ulteriormente Expans po ')

+2

[Correlato] (http://stackoverflow.com/q/4378444/693207) –

+0

@ Juren Thelen.Come ho detto anche dopo aver dato grande altezza e larghezza, non dà un effettivo effetto massimizzato. –

+0

@ Jürgen penso che possa essere la risposta. – ThdK

risposta

67
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); 

Si prega di astenersi dal aprendo il popup a meno che l'utente lo voglia veramente, altrimenti ti malediranno e inserirai nella blacklist il tuo sito. ;-)

modifica: Oops, come fa notare Joren Van Severen in un commento, questo potrebbe non tener conto delle barre delle applicazioni e delle decorazioni delle finestre (in un possibile modo dipendente dal browser). Sii consapevole Sembra che ignorare altezza e larghezza (solo param è fullscreen=yes) sembra funzionare su Chrome e forse anche su Firefox; la funzionalità originale 'fullscreen' è stata disattivata in Firefox per essere odiosa, ma è stata sostituita con la massimizzazione. Ciò contraddice direttamente le informazioni sulla stessa pagina di https://developer.mozilla.org/en/DOM/window.open che dice che la massimizzazione della finestra è impossibile. Questa 'funzione' può o non può essere supportata a seconda del browser.

+6

Apre una finestra più grande di una normale finestra ingrandita. L'altezza di una finestra ingrandita è schermo.altezza - altezza della barra delle applicazioni (e anche alcune decorazioni delle finestre sembrano). –

+1

Che è screen.availHeight resp. screen.availWidth. Ad ogni modo le dimensioni non si adattano esattamente ... – cschuff

9
window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes') 
+1

l'unica cosa cambiata è la finestra invece del sé. Qual è la differenza? –

1

Checkout questa finestra jQuery plugin: http://fstoke.me/jquery/window/

// create a window 
sampleWnd = $.window({ 
    ..... 
}); 

// resize the window by passed w,h parameter 
sampleWnd.resize(screen.width, screen.height); 
1

Se utilizzo Firefox, quindi screen.width e screen.height funziona correttamente ma in IE e Chrome non funzionano correttamente, ma si apre con la dimensione minima.

E sì ho provato dando troppo grandi numeri troppo come 10000 sia per height e width ma non esattamente l'effetto massimo.

3

La soluzione migliore che ho trovato al momento attuale per aprire una finestra ingrandita è (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); 
    } 

vedere https://jsfiddle.net/8xwocrp6/7/

Nota 1 : Non funziona su Edge (13.1058686). Non sono sicuro che si tratti di un bug o se è come progettato (ho riempito a bug report, vedremo cosa hanno da dire al riguardo). Ecco una soluzione:

if (navigator.userAgent.match(/Edge\/\d+/g)) 
{ 
    return window.open("your_url", "popup", "width=" + screen.width + ",height=" + screen.height); 
} 

Nota 2: moveTo o resizeTo non funziona (Accesso negato) se la finestra che si sta aprendo è su un altro dominio.

Problemi correlati