2016-03-21 6 views
0

私は、Windowsのタスクバーと重なり合わずに画面にフィットするポップアップランチャーを作成しようとしていましたが、いくつかの調査を行いました.HTMLファイルも作成しましたが、正しく動作しません。それを超えています。どのようにそのような仕事を達成することができます、そして私は何を間違っていますか?GoogleのChromeで、Windowsのタスクバーを使わずに画面を調整できる新しいポップアップウィンドウを開くにはどうすればよいですか?

コード:(デスクトップ上でそれを実行します)

<!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

ユーザは、Windowsのタスクバーを意味していますか?私はタスクバーを持っていない、他のシステムは画面の上、左または右にタスクバーを持っています。 –

+0

ChromeがWindowsの機能['outerHeight'](https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Position_and_size_features)をサポートしているかどうかをテストすることを提案してください。 'height'はクライアント領域用であり、ウィンドウ枠やタイトルバーなどを含まず、オーバーフローを引き起こします。あなたは 'outerWidth'も必要とするかもしれません。 – traktor53

答えて

2

それはwindow.outerWidth判明してwindow.outerHeightはしばらくの周りされているが、IE9までIEに表示されませんでした。

次のコード例では、最小サイズで開いた後、開いているウィンドウのサイズを変更して、使用可能な領域をすべて占有するようにして、タスクバーのサイズを最大限に超えたウィンドウを開きます。

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'"); 

留意:

  • をMDNのwiki example of a window features stringは正しくないと表示されます。必要な機能の名前が含まれており、必要とされていないものを省略します。

  • ユーザーは、widow.open機能の抑制を選択的に無効にしている可能性があります。 (MozillaのFirefoxではポップアップが場所の詳細を隠すまたは他の有用な機能を無効に防ぐためにdom.disable_window_open_featureabout:configを参照してください。)

+1

あなたの答えは私の期待を上回り、良く書かれてきれいにコード化されています。ありがとうございます+1 – Kyle

関連する問題