window.devicePixelRatio将返回1或2,具体取决于我使用的是视网膜显示器还是标准显示器。如果在两个监视器之间拖动窗口,此属性将更改。发生更改时,是否有办法让听众着火?
最佳答案
您可以使用matchMedia
收听媒体查询,该查询将告诉您devicePixelRatio何时超过某个障碍(不幸的是,不是任意缩放比例)。
例如:
window.matchMedia('screen and (min-resolution: 2dppx)').
addListener(function(e) {
if (e.matches) {
/* devicePixelRatio >= 2 */
} else {
/* devicePixelRatio < 2 */
}
});
当您在监视器之间拖动窗口时,以及插入或拔出外部非视网膜监视器时(如果它导致窗口从视网膜移动到非视网膜屏幕,反之亦然),将调用侦听器。
IE10 +和all other modern browsers支持
window.matchMedia
。引用:https://code.google.com/p/chromium/issues/detail?id=123694,MDN on
min-resolution
关于javascript - window.devicePixelRatio更改监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28905420/