跨浏览器调整JavaScript中的浏览器窗口

时间:2011-09-17 02:24:13

标签: javascript browser cross-browser

我希望能够使用JavaScript调整浏览器窗口的大小。我不想使用jQuery,代码越小越好,但它必须适用于所有主流浏览器,包括Chrome。

任何解决方案?

感谢您的帮助!

P.S。这个问题被标记的标签应该合并,但我不知道如何。

浏览器-----------与 - >相同网页浏览器

跨浏览器----与 - >相同浏览器兼容性

3 个答案:

答案 0 :(得分:20)

window.resizeTo( width, height );

您可能遇到的问题是现代浏览器可能会阻止您在设置中无法调整窗口大小。没有办法解决这个问题。

Chrome不允许这样做。 Won't Fix Bug

IE基于security zones

答案 1 :(得分:10)

事实上,Chrome,Firefox和更新的IE不允许调整window.open()(至少Chrome)未打开的选项卡式窗口和窗口的大小。

但是对于弹出窗口而言,除非浏览器中的安全设置阻止该功能,否则它在大多数情况下都是可行的。但是使用window.resizeTo()很复杂。请改用window.resizeBy()

Chrome有一个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);
}

答案 2 :(得分:6)

网页无法在Chrome中调整主浏览器窗口的大小。 JavaScript代码仅允许调整弹出窗口的大小。