Chrome DevTools可以選擇使用設備仿真模式。在Chrome中打開或關閉設備仿真模式時進行檢測
我知道有一個way來測試模式是否爲。但我想知道當它是激活或停用,點擊。
是否有任何我可以聽到的事件,由瀏覽器觸發,表明模式已打開或關閉?
Chrome DevTools可以選擇使用設備仿真模式。在Chrome中打開或關閉設備仿真模式時進行檢測
我知道有一個way來測試模式是否爲。但我想知道當它是激活或停用,點擊。
是否有任何我可以聽到的事件,由瀏覽器觸發,表明模式已打開或關閉?
我落得這樣做:
$(window).on('orientationchange', function(e) {
if (e.tagret && e.target.devicePixelRatio > 1) {
// Emulation mode activated
} else {
// Emulation mode deactivated
}
});
作品谷歌瀏覽器(我的版本:58.0)。它是防彈的方式嗎?不確定。雖然這對我的需求已經足夠了。
orientationchange
docs here。
我的解決辦法:
$(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
甲健壯的解決方案可能會希望監視RES ize事件,變化的devicePixelRatio,變化的userAgent,觸摸模式檢測的可用性以及orientationchange,並基於它們做出決定。這些信號可能意味着其他事情。 –