2017-06-22 36 views
2

Chrome DevTools可以選擇使用設備仿真模式。在Chrome中打開或關閉設備仿真模式時進行檢測

我知道有一個way來測試模式是否爲。但我想知道當它是激活停用,點擊。

是否有任何我可以聽到的事件,由瀏覽器觸發,表明模式已打開或關閉?

+1

甲健壯的解決方案可能會希望監視RES ize事件,變化的devicePixelRatio,變化的userAgent,觸摸模式檢測的可用性以及orientationchange,並基於它們做出決定。這些信號可能意味着其他事情。 –

回答

0

我落得這樣做:

$(window).on('orientationchange', function(e) { 

    if (e.tagret && e.target.devicePixelRatio > 1) { 
     // Emulation mode activated 
    } else { 
     // Emulation mode deactivated 
    } 

}); 

作品谷歌瀏覽器(我的版本:58.0)。它是防彈的方式嗎?不確定。雖然這對我的需求已經足夠了。

orientationchange docs here

0

我的解決辦法:

$(window).on('orientationchange', function(e) { 
    setTimeout(function() { 
     var emulationModeActivated = window.navigator.userAgent.indexOf('Mobile') !== -1; 
    }, 0); 
}); 

鉻添加到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不與視網膜顯示在Mac可用作值總是> 1

相關問題