簡體   English   中英

如何檢查完全支持deviceorientation事件的設備/瀏覽器?

[英]How to check for a device/browser that fully supports the deviceorientation event?

我有一個運行正常的HTML5指南針。 現在,我需要一種聰明的方法來區分“啟用了偽設備定向”的瀏覽器(如台式機chrome和FF)和使用該設備的磁阻計的iPhone / Android / iPad瀏覽器等真正的候選者。

我當前的解決方案是對DeviceOrientationEvent和觸摸支持的基本檢查:

if (window.DeviceOrientationEvent && 'ontouchstart' in window) {
  // setup real compass thing, with event.alpha
} else {
  // setup some mouse following hack
}

夠了嗎? 我不太確定“具有觸摸支持但沒有磁力計”的設備,例如macbook上的Chrome具有觸摸支持,並且設備方向是假的嗎?

它似乎按原樣工作,我錯了,mac book上的chrome不在“真正的指南針”部分。 應該已經測試過了。

if (window.DeviceOrientationEvent && 'ontouchstart' in window) {
    // setup real compass thing, with event.alpha
    document.body.innerHTML = "haz!";
} else {
    // setup some mouse following hack
    document.body.innerHTML = "nope";
}

檢查一下自己: http : //jsfiddle.net/benzkji/J58ef/

如果出現了啟用了DeviceOrientation的Chrome觸摸式Windos筆記本電腦,仍然會發生什么。 可能檢查deviceorientation事件的“絕對”屬性: https : //developer.mozilla.org/de/docs/WebAPI/Detecting_device_orientation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM