首先.... a.我并没有恶意让用户看到弹出窗口或类似的东西。我只是想阻止用户调整他们已经浏览过的网页的浏览器窗口大小(这意味着我无法访问/不想使用window.open();)。我已经研究了很长一段时间,似乎找不到一个直接的答案。
我觉得我是在轨道上的东西沿着线:
$(window).resize(function() {
var wWidth = window.width,
wHeight = window.height;
window.resizeBy(wWidth, wHeight);
});
...无济于事。我不得不想象这是可能的。是吗?如果是的话,我一定会很感激你的帮助。
谢谢
3条答案
按热度按时间q35jwt9p1#
你可以先确定一个确切的大小。
然后执行以下操作:
演示:http://jsfiddle.net/DerekL/xeway917/
问得好。这不会导致调整大小的无限循环。W3C规范规定,只有在调整了文档视图的大小时才必须调度
resize
事件。当resizeTo
函数第二次尝试执行时,窗口的尺寸将与刚刚设置的尺寸完全相同,因此浏览器不会触发resize事件,因为尺寸没有改变。svmlkihl2#
我今天就需要这样做(对于一个由chrome扩展打开的面板),但我需要允许用户更改窗口高度,但阻止他们更改窗口宽度
@Derek的解决方案让我几乎做到了,但我不得不调整它,以允许高度的变化,正因为如此,一个无休止的大小调整循环是可能的,所以我需要防止以及。这是我的版本的Dereck的答案,是为我工作得很好:
kpbwa7wx3#
如果需要一些特定的元素来处理一些特定模式下的大小调整,并防止整个窗口的大小调整使用preventDefault