2011-09-17 12 views
22

JavaScriptでブラウザウィンドウのサイズを変更したいと考えています。私はjQueryを使いたくないし、コードが小さくなるほど良いが、Chromeをはじめとする主要なブラウザすべてで動作しなければならない。ブラウザでブラウザのサイズを変更するJavaScriptのブラウザウィンドウを

すべてのソリューションはありますか?

ありがとうございました!

P.S.この質問にタグが付いたタグは結合する必要がありますが、どうすればよいか分かりません。

同じブラウザ----------- - >ブラウザの互換性

+0

なぜjQuery(または他の有用なフレームワーク)を使用したくないのですか? – Eddie

+1

@Eddieこれはほんのわずかな作業ですが、私はむしろ非常に大きなライブラリを含めません。 –

答えて

20

window.resizeTo(width, height);

- と同様> Webブラウザー

クロスブラウザ----現代のブラウザでは、ウィンドウのサイズを変更できないようにすることができます。その周りに方法はありません。

Chromeでは許可されません。 Won't Fix Bug

IEをChromeのメインのブラウザウィンドウのサイズを変更するには、Webページのための方法はありませんsecurity zones

+0

これはFirefox 6では動作しますが、Chrome 13やIE8では動作しません。 –

+0

現代のブラウザはそれをブロックするので。 Chrome [修正しない](http://code.google.com/p/chromium/issues/detail?id=2091) – epascarello

+0

IEセキュリティhttp://msdn.microsoft.com/en-us/library/ms536723 (v = vs.85).aspx – epascarello

6

に基づいています。 JavaScriptコードは、ポップアップウィンドウのサイズ変更のみが許可されています。

10

実際には、Chrome、Firefox、および新しいIEでは、タブ付きのウィンドウやウィンドウのサイズがwindow.open()(Chrome以上)でないと変更できません。

しかし、ポップアップの場合、ブラウザのセキュリティ設定によってその機能がブロックされていない限り、ほとんどの場合実行できます。ただし、window.resizeTo()を使用するのは複雑です。代わりにwindow.resizeBy()を使用してください。

クロムにはすぐにポップアップウィンドウのサイズが表示されるので、それを回避する必要があります。bug

if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1) 
    var t = setTimeout("resize()", 200); 
else 
    resize(); 

function resize() { 
    var innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; 
    var innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; 
    var targetWidth = 800; 
    var targetHeight = 600; 
    window.resizeBy(targetWidth-innerWidth, targetHeight-innerHeight); 
} 
関連する問題