50

Javascriptを使用self.open()して新しいウィンドウでリンクを開き、そのウィンドウを最大化したいと思います。私はオプションを試しましたfullscreen=yesが、それは本当に私が望むことをしません。私は以下のコードを使用しています:

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

私も言及fullscreen=yesすると、F11を押すようにウィンドウが開きます。しかし、私はそれを望んでいません。私が欲しいのは、IEをダブルクリックして、右上隅にある最大化アイコンをクリックしたときです。

heightとの値widthを非常に大きくしたので、最大化されたウィンドウに近いですが、実際の最大化されたウィンドウではありません。(これを言っている理由は、今でも最大化ボタンをクリックすると、さらに少し拡大するからです)

4

5 に答える 5

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

ユーザーが本当にそれを望んでいない限り、ポップアップを開くことは控えてください。;-)

編集: おっと、Joren Van Severen がコメントで指摘しているように、これはタスクバーとウィンドウの装飾を考慮していない可能性があります (おそらくブラウザーに依存する方法で)。注意してください。高さと幅を無視すると (パラメーターのみがfullscreen=yes)、Chrome とおそらく Firefox でも機能するようです。元の「フルスクリーン」機能は、不快なため Firefox で無効にされましたが、最大化に置き換えられました。これは、ウィンドウの最大化が不可能であると述べているhttps://developer.mozilla.org/en/DOM/window.openの同じページの情報と直接矛盾しています。この「機能」は、ブラウザによってサポートされている場合とサポートされていない場合があります。

于 2012-04-24T12:05:49.660 に答える
14
 window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
于 2012-04-24T11:50:03.647 に答える
8

ウィンドウを最大化して開くために現時点で見つけられる最善の解決策は (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);
  }

https://jsfiddle.net/8xwocrp6/7/を参照してください

注 1 : Edge (13.1058686) では動作しません。それがバグなのか、それとも設計どおりなのかはわかりません (私はバグレポートに記入しました。彼らがそれについて何を言わなければならないか見てみましょう)。回避策は次のとおりです。

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

注 2 :開いているウィンドウが別のドメインにある場合、moveToまたはresizeTo機能しません (アクセスが拒否されます)。

于 2016-04-14T12:06:37.073 に答える
1

Firefox を使用するscreen.widthscreen.height正常に動作しますが、IE と Chrome では正しく動作せず、代わりに最小サイズで開きます。

はい、私はあまりにも大きな数を与えようとしましたが10000、両方のように、正確に最大化された効果ではありませんでしたheightwidth

于 2012-08-01T08:19:12.293 に答える
0

この 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);
于 2012-04-24T11:54:11.443 に答える