检测Chrome中打开或关闭设备模拟模式的时间

时间:2017-06-22 08:34:15

标签: javascript jquery google-chrome

Chrome DevTools可以选择使用设备模拟模式。

我知道有一个way可以测试模式是否。但是,我想知道点击时已激活停用的时间。

是否有任何我可以收听的事件,由浏览器触发,表示该模式已开启或关闭?

2 个答案:

答案 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