Javascript 禁用浏览器窗口调整大小

Javascript 禁用浏览器窗口调整大小,javascript,jquery,browser,window-resize,Javascript,Jquery,Browser,Window Resize,首先。。。我无意让用户使用弹出窗口或类似的东西。我只是想阻止用户调整他们已经导航到的网页的浏览器窗口大小(意味着我没有访问/不想使用window.open();)。我已经研究了很长一段时间,似乎找不到一个简单的答案 我觉得我已经走上了正轨: $(window).resize(function() { var wWidth = window.width, wHeight = window.height; window.resizeBy(wWidth, wHeight

首先。。。我无意让用户使用弹出窗口或类似的东西。我只是想阻止用户调整他们已经导航到的网页的浏览器窗口大小(意味着我没有访问/不想使用window.open();)。我已经研究了很长一段时间,似乎找不到一个简单的答案

我觉得我已经走上了正轨:

 $(window).resize(function() {
     var wWidth = window.width,
     wHeight = window.height;
     window.resizeBy(wWidth, wHeight);
 });
…毫无用处。我不得不想象这是可能的。它是?如果是这样的话,我会非常感谢你的帮助


谢谢

您可以先确定一个确切的尺寸

var size = [window.width,window.height];  //public variable
然后这样做:

$(window).resize(function(){
    window.resizeTo(size[0],size[1]);
});
演示:


Q:这不会导致无限循环的大小调整吗用户1147171

问得好。这不会导致无限循环的大小调整。仅当文档视图已调整大小时,才必须调度
resize
事件的状态。当
resizeTo
功能第二次尝试执行时,窗口的尺寸将与刚才设置的尺寸完全相同,因此浏览器不会触发调整大小事件,因为尺寸没有更改。

我今天需要这样做(对于由chrome扩展打开的面板)但我需要允许用户更改窗口高度,但防止他们更改窗口宽度

@德里克的解决方案让我几乎达到了目的,但我不得不调整它以允许高度变化,正因为如此,一个无休止的调整循环是可能的,所以我也需要防止这种情况。这是我对德里克答案的看法,对我来说非常有效:

var couponWindow = {
  width: $(window).width(),
  height: $(window).height(),
  resizing: false
};
var $w=$(window);
$w.resize(function() {
  if ($w.width() != couponWindow.width && !couponWindow.resizing) {
    couponWindow.resizing = true;
    window.resizeTo(couponWindow.width, $w.height());
  }
  couponWindow.resizing = false;
});

我必须问为什么?浏览器窗口不应受到限制。如果最终用户希望将其移动到另一个屏幕,并且无法调整其大小,这可能会给最终用户带来潜在问题。例如,两个分辨率不同的屏幕。您不应该尝试更改核心操作系统级功能的行为(例如,防止调整窗口大小)。曾经。@JohnHartsock-也许他正在制作一个浏览器扩展或插件?不幸的是,我在这一点上受到NDA的约束,但@Derek的做法是正确的。我知道这与我们所有人的信仰背道而驰,这就是为什么我不愿用这个问题来扰乱社区。关于理由的简短回答是,只有在特定(和其他受控)条件下才能访问本网站。用户知道在导航到它时会发生什么。谢谢大家。@ChristianVarga rofl……你永远不应该假设这样的事情。有许多情况/情况可能需要按照这些思路做一些事情。也许这家伙是在一个受控的环境中创建一个网站(比如在工作中等等),而不仅仅是一些随机的公共互联网网站。对于大多数网站?你可能是对的。对于每一种可能的情况?你错了。谢谢@Derek。这绝对符合我的想法。我已经采纳了你的建议,但仍然没有成功。然而,只要看看你写的东西,我就能看出这应该是可行的。这对我还是有帮助的,因为它证实了我肯定在别的地方做错了什么。。。这就是为什么我要把这个标记为“已回答”。Thx.@tchnchn-它应该可以工作,因为我正在扩展的弹出窗口中使用它这是一个非常恼人的“特性”。如果它能工作(而且不会,因为OP),用户将被锁定在窗口最初打开的任何大小,这可能有用,但可能不是。谷歌Chrome不允许你再修改窗口大小了吗?@Purmou-你为什么这么说?如果使用
window.open
打开窗口,则可以更改窗口的大小。