Chrome DevTools可以选择使用设备模拟模式。
我知道有一个way可以测试模式是否。但是,我想知道点击时已激活或停用的时间。
是否有任何我可以收听的事件,由浏览器触发,表示该模式已开启或关闭?
答案 0 :(得分:0)
我最终这样做了:
$(window).on('orientationchange', function(e) {
if (e.tagret && e.target.devicePixelRatio > 1) {
// Emulation mode activated
} else {
// Emulation mode deactivated
}
});
适用于Google Chrome(我的版本:58.0)。这是防弹方式吗?不确定。但这足以满足我的需求。
orientationchange
docs here。
答案 1 :(得分:0)
我的解决方案:
$(window).on('orientationchange', function(e) {
setTimeout(function() {
var emulationModeActivated = window.navigator.userAgent.indexOf('Mobile') !== -1;
}, 0);
});
Chrome会在设备模拟模式下将Mobile
添加到userAgent,例如“Mozilla / 5.0(iPhone; CPU iPhone OS 10_3,如Mac OS X)AppleWebKit / 602.1.50(KHTML,如Gecko)CriOS / 56.0。 2924.75 移动 / 14E5239e Safari / 602.1“
e.target.devicePixelRatio
在带有Retina Display的Mac上无法使用,因为值始终为> 1