禁用浏览器窗口大小调整
Disable Browser Window Resize
对于初学者...我没有恶意让用户受到弹出窗口或类似的东西的影响。我只是想防止用户调整他们已经导航到的网页的浏览器窗口的大小(这意味着我无法访问/不想使用 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]);
});
演示:http://jsfiddle.net/DerekL/xeway917/
问:这不会导致大小调整的无限循环吗? - 用户1147171
好问题。这不会导致大小调整的无限循环。W3C 规范规定,只有在调整文档视图大小后resize
才必须调度事件。当 resizeTo
函数尝试第二次执行时,窗口将具有与刚刚设置的完全相同的维度,因此浏览器不会触发 resize 事件,因为维度尚未更改。
我今天需要这样做(对于由 chrome 扩展程序打开的面板(,但我需要允许用户更改窗口高度,但阻止他们更改窗口宽度
@Derek的解决方案让我几乎到达了那里,但我不得不调整它以允许高度变化,因此,一个无休止的调整大小循环是可能的,所以我也需要防止这种情况。这是我对德里克的回答的版本,对我来说效果很好:
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;
});
可以使用 preventDefault 来完成
document.addEventListener("wheel", (event) =>
{
if (event.ctrlKey)
event.preventDefault();
});
它可以针对某些特定元素完成,但保留在其他任何地方:
document.getElementById("my_element").addEventListener("wheel", (event) =>
{
if (event.ctrlKey)
event.preventDefault();
});
相关文章:
- Chrome应用程序调整窗口大小保持纵横比
- Adobe Air SDK在页面加载时调整窗口大小
- Javascript滚动并调整窗口大小
- 基于媒体查询的angular js动画无法调整窗口大小
- 调整窗口大小后仍然重定向Div
- 如果用户调整窗口大小/窗口未最大化,是否可以隐藏网页上的图像
- 单击按钮时调整窗口大小
- JS脚本仅在调整窗口大小后应用
- 导航栏无法调整窗口大小
- jQuery 函数在调整窗口大小之前不会触发
- 将图像大小调整为使用 Javascript 调整窗口大小 - 在 Chrome 中不起作用
- JavaScript 不起作用,直到我调整窗口大小然后调整大小
- Javascript:在Firefox中无法调整窗口大小
- jQuery在应用过滤器后调整窗口大小
- 调整窗口大小后,画布动画速度加快
- HTML页面大小在调整窗口大小时会正确调整,但在加载时不会
- 猫头鹰旋转木马2无法调整窗口大小
- 单击选项卡上的jQuery调整窗口大小
- JavaScript :当有很多帧时如何调整窗口大小
- 调整窗口大小并准备好文档