2016-03-21 18 views
0

Ich habe versucht, einen Popup-Starter zu erstellen, der auf den Bildschirm ohne überlappende Windows Taskleiste passt, habe ich einige Nachforschungen gemacht, und sogar die HTML-Datei erstellt, aber es funktioniert nicht richtig, überlappt es die Taskleiste und geht sogar darüber hinaus. Wie kann man eine solche Aufgabe erreichen, und was mache ich falsch?Wie kann ich ein neues Popup-Fenster in Google Chrome öffnen, das sich an jeden Bildschirm anpasst, ohne über die Taskleiste von Windows zu gehen?

Code: (Führen Sie es auf Ihrem Desktop)

<!doctype html> 
 
<html lang="en"> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title>winds</title> 
 
    </head> 
 
    <body> 
 

 
    <script> 
 
     function fc() 
 
     { 
 
     window.open('http://www.google.com.br','window','menubar=yes,screenX=0,screenY=0,top=0,left=0,location=no,status=no,toolbar=no,scrollbars=yes,resizable=no,width=' + (screen.width - 10) + ',height=' + screen.availHeight); 
 
     } 
 
    </script> 
 

 
    <a href="JavaScript:fc()">Chrome</a> 
 

 
    </body> 
 
</html>

+0

Welche Windows-Taskleiste meinen Sie das? Ich habe keine Taskleiste, andere Systeme haben eine Taskleiste oben, links oder rechts am Bildschirm. –

+0

Testen Sie, ob Chrome die Windows-Funktion ['outerHeight'] unterstützt (https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Position_and_size_features). 'height' ist für den Kundenbereich, schließt den Fensterrahmen und die Titelleiste usw. nicht ein und verursacht einen Überlauf. Du brauchst vielleicht auch 'outerWidth' – traktor53

Antwort

2

Es stellt sich heraus window.outerWidth und window.outerHeight gibt es schon eine Weile, aber nicht zeigen, in IE bis IE9 up .

Das folgende Codebeispiel öffnet ein Fenster mit maximaler Größe, aber ohne Taskleisten, indem es zuerst mit der Mindestgröße geöffnet wird und dann die Größe des geöffneten Fensters so ändert, dass es den gesamten verfügbaren Bereich einnimmt.

function splashOpen(url) 
{ 
    var winFeatures = 'screenX=0,screenY=0,top=0,left=0,scrollbars,width=100,height=100'; 
    var winName = 'window'; 
    var win = window.open(url,winName, winFeatures); 
    var extraWidth = win.screen.availWidth - win.outerWidth; 
    var extraHeight = win.screen.availHeight - win.outerHeight; 
    win.resizeBy(extraWidth, extraHeight); 
    return win; 
} 

// and test 
splashOpen("javascript:'hello folks and world'"); 

Anmerkung:

  • die MDN Wiki example of a window features string scheint falsch zu sein: sind die Namen der Funktionen erforderlich und lassen diejenigen, die nicht erforderlich.

  • Benutzer können die Unterdrückung von widow.open-Funktionen selektiv deaktiviert haben. (Mozilla Firefox sehen about:config unter dom.disable_window_open_feature Popups Details versteckt Lage zu verhindern, oder andere nützliche Funktionen zu deaktivieren.)

+1

Deine Antwort übertraf meine Erwartungen, gut geschrieben und ordentlich codiert, vielen Dank +1 – Kyle