Javascript $(窗口).resize()和打印预览模式
我有一段非常简单的代码,可以在调整窗口大小后刷新窗口Javascript $(窗口).resize()和打印预览模式,javascript,jquery,google-chrome,browser,Javascript,Jquery,Google Chrome,Browser,我有一段非常简单的代码,可以在调整窗口大小后刷新窗口 $(window).resize(function() { location.reload(); }); 当我尝试在Chrome中打开打印预览模式(Ctrl+p)时,它也会刷新。有没有办法避免这种行为?要确定打印操作,有两个事件:打印前和打印后。使用这些事件,可以在onbeforeprint中设置一些已激活打印的标志,并在resize处理程序中检查该标志 window.onbeforeprint = function() {
$(window).resize(function() {
location.reload();
});
当我尝试在Chrome中打开打印预览模式(Ctrl+p)时,它也会刷新。有没有办法避免这种行为?要确定打印操作,有两个事件:
打印前
和打印后
。使用这些事件,可以在onbeforeprint
中设置一些已激活打印的标志,并在resize
处理程序中检查该标志
window.onbeforeprint = function() {
print = true;
};
不幸的是,铬。作为ChromematchMedia
中的解决方法,可以使用:
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if (mql.matches) {
console.log('onbeforeprint equivalent');
} else {
console.log('onafterprint equivalent');
}
});
所以Chrome的解决方案可能是这样的:
var print = false;
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if (mql.matches) {
print = true;
}
});
$(window).resize(function(event) {
if (!print) {
location.reload();
}
});
在此之后,print
标记应在onafterprint
中重置,以允许进一步调整窗口大小
有关此方法的更多信息-。欢迎使用堆栈溢出!感谢您正确编写的文本和正确缩进的代码。不过有一个小提示,你不需要在这里说“谢谢”,我们都愿意回答。这甚至被认为是问题中的噪音。祝你玩得开心!出于兴趣,为什么需要在调整页面大小后重新加载?是的,这很有效。非常感谢你的解释。