簡體   English   中英

如何通過Android和iOS上的Javascript檢測設備上的觸摸?

[英]How to detect touch on a devise through Javascript across Android and iOS?

我在網頁上有某些功能,只有在瀏覽器不支持觸摸時才會呈現。 經過大量的谷歌搜索,我發現了以下代碼,它可以工作,但它只適用於Android,並不適用於iOS設備:

function supportsTouch() {
    return ('onstarttouch' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)
}

我也嘗試過Modernizr ,並編寫以下腳本來檢測設備上的觸摸功能:

function supportsTouch() {
  if (Modernizr.touchevents) {
    return true;
  }
}

但它既不適用於操作系統。 我知道實際上不可能根據這個實際檢測出設計是否響應物理觸摸,但有沒有任何黑客可以告訴我兩個平台上的設備的觸摸功能:iOS和Android?

注意:我不會選擇媒體查詢,因為這會污染我的Web應用程序,因為任何人都可以更改桌面計算機上瀏覽器的寬度。

經過大量的努力,我終於設法獲得了幾行代碼來檢測Android和iOS設備的觸摸,這是最終的功能:

function supportsTouch() {
    return ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0) || (typeof el.ongesturestart == "function")
}

暫無
暫無

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

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