タッチデバイス用にWebサイトを最適化する方法

グレッジャー:

iPhone、iPad、Androidなどのタッチデバイスでは、小さなボタンを指で押すのが難しい場合があります。私が知っているCSSメディアクエリでタッチデバイスを検出するためのクロスブラウザーの方法はありません。そのため、ブラウザーがJavaScriptタッチイベントをサポートしているかどうかを確認します。 これまで、他のブラウザはそれらをサポートしていませんでしたが、開発チャネルの最新のGoogle Chromeは タッチイベントを有効にしました (非タッチデバイスでも)。タッチスクリーンを搭載したラップトップが登場するので、他のブラウザメーカーもそれに続くと思い ます。更新:これはChromeのバグだったため、JavaScriptの検出が再び機能するようになりました

これは私が使用するテストです:

function isTouchDevice() {
    return "ontouchstart" in window;
}

問題は、ブラウザーがデバイスではなくタッチイベントをサポートしているかどうかのみをテストすることです。

タッチデバイスのユーザーエクスペリエンスを向上させる正しい方法を知っている人はいますか?ユーザーエージェントを盗聴する以外。

Mozillaにはタッチデバイス用のメディアクエリがあります。しかし、私は他のブラウザでそのようなものを見たことはありません:https : //developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled

更新:モバイル/タッチデバイス用に別のページ/サイトを使用しないようにしたい。このソリューションでは、JavaScriptからオブジェクト検出または類似のタッチデバイスを検出するか、ユーザーエージェントをスニッフィングせずにカスタムタッチCSSを含める必要があります。私が尋ねた主な理由は、css3ワーキンググループに連絡する前に、それが今日不可能であることを確認することでしたですから、質問の要件に従っていない場合は答えないでください;)

Shiny and New安宇さん:

次のシナリオをカバーするために、タッチスクリーン向けのオプションが必要なように思えます。

  1. iPhoneのようなデバイス:小さな画面、タッチのみ
  2. 小さな画面、タッチなし(これは言及していません)
  3. 大画面、タッチなし(つまり、従来のコンピューター)
  4. iPad、タッチスクリーン搭載のノートブック/ PCなどのタッチスクリーン対応の大画面。

ケース1と2の場合は、多くの不要なコンテンツを排除し、物事を大きくして読みやすくするために、別のサイトまたはCSSファイルが必要になる可能性があります。ケース#2に関心がある場合は、ページのリンク/ボタンがキーボードでナビゲートできる限り、ケース1と2は同等です。

ケース3の場合は、通常のWebサイトがあります。ケース4の場合、クリック可能なものを大きくしたり、触れやすくしたりする必要があるようです。すべてのユーザーにとってすべてを単純に大きくすることが不可能な場合は、別のスタイルシートを使用して、タッチフレンドリーなレイアウトを変更できます。

最も簡単な方法は、ページのどこかにあるサイトのタッチスクリーンバージョンへのリンクを提供することです。iPadなどのよく知られているタッチデバイスの場合、ユーザーエージェントを嗅ぎ、タッチスタイルシートをデフォルトとして設定できます。ただし、これを全員のデフォルトにすることを検討します。あなたのデザインがiPadでよさそうだとすれば、どんなノートブックでも容認できるほどよさそうだ。特にクリック:hovermouseoverクリックが可能であることをユーザーに知らせるために適切なエフェクトエフェクトを追加した場合は、クリックのスキルがそれほど高くないマウスユーザーが大きなクリックターゲットを見つけて喜んでくれます

ユーザーエージェントをスニッフィングしたくないと言っていましたね。しかし、現時点では、これに対するブラウザのサポートの状態は流動的すぎて、「正しい」方法でそれを行うことができないと考えています。ブラウザーは最終的に必要な情報を提供しますが、この情報がユビキタスになるまでには数年かかるでしょう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

モバイル ランドスケープ ビュー用に Web サイトを最適化する

分類Dev

ファンクターをデバイスアレイのサブセットに適用する最も効率的な方法は何ですか?

分類Dev

10インチタブレット用にアプリを最適化する方法は?

分類Dev

デストラクタのサイズを最適化する

分類Dev

スマートポインタとサブクラスでタイプチェックを適用する方法

分類Dev

最適なバッチサイズを計算する方法

分類Dev

複数のデバイスサイズをターゲットにする最良の方法は何ですか?

分類Dev

複数のWebサービス呼び出しを1つにグループ化して最適化する方法。デザインパターンc#

分類Dev

MSProject-ガントチャートのタスクバーにスタイルを適用する方法

分類Dev

WPサイトをさらに最適化する方法

分類Dev

リンクごとに複数の画像を表示するようにサイトのデータベースを設計および最適化する方法

分類Dev

preact / reactでデスクトップとモバイルに別々のウェブサイトを実装する最適な方法はどれですか

分類Dev

Django Webサイトにゲームデータを保存/モデル化する最良の方法は?

分類Dev

Androidで以下のキットカットデバイスにグラデーションを適用する方法

分類Dev

動的に変化する特定のWebサイトのPOSTリクエストの最後のページインデックス番号を知る方法

分類Dev

Linuxでイーサネットデバイスをスイッチに直接接続する方法は?

分類Dev

グループ化されたセットに関数を適用し、列を既存のデータフレームにバインドする方法

分類Dev

モバイルデバイスでサイト本体のタッチパンを無効にする

分類Dev

Java webapp / clientでwebサービス/ xmlバインディング用に生成されたアーティファクトを管理する最良の方法は?

分類Dev

マルチインデックス列を持つデータフレーム内の1セットの列に適用する方法

分類Dev

インサートを最適化する最良の方法

分類Dev

3Dタッチ(感圧タッチ)をサポートするデバイスでTouchableOpacityまたはTouchableHighlightをクリック可能にする方法

分類Dev

3.5インチと互換性のある4インチ用に設計された画面サイズを最適化する方法

分類Dev

mlr3のインジケーター列とバッチトレイン予測に従ってタスクをサブセット化する方法は?

分類Dev

データベース内のチャットメッセージの保存を最適化する方法

分類Dev

バイトをメガバイトに変換してからdescで並べ替えるデータベースクエリを最適化する

分類Dev

Angularjsでリアルタイム通知用に$ intervalを最適化する方法は?

分類Dev

テーブルにフィルターを適用した後、データをドロップダウンリストにバインドする方法

分類Dev

webpackバンドルサイズをさらに最適化する方法

Related 関連記事

  1. 1

    モバイル ランドスケープ ビュー用に Web サイトを最適化する

  2. 2

    ファンクターをデバイスアレイのサブセットに適用する最も効率的な方法は何ですか?

  3. 3

    10インチタブレット用にアプリを最適化する方法は?

  4. 4

    デストラクタのサイズを最適化する

  5. 5

    スマートポインタとサブクラスでタイプチェックを適用する方法

  6. 6

    最適なバッチサイズを計算する方法

  7. 7

    複数のデバイスサイズをターゲットにする最良の方法は何ですか?

  8. 8

    複数のWebサービス呼び出しを1つにグループ化して最適化する方法。デザインパターンc#

  9. 9

    MSProject-ガントチャートのタスクバーにスタイルを適用する方法

  10. 10

    WPサイトをさらに最適化する方法

  11. 11

    リンクごとに複数の画像を表示するようにサイトのデータベースを設計および最適化する方法

  12. 12

    preact / reactでデスクトップとモバイルに別々のウェブサイトを実装する最適な方法はどれですか

  13. 13

    Django Webサイトにゲームデータを保存/モデル化する最良の方法は?

  14. 14

    Androidで以下のキットカットデバイスにグラデーションを適用する方法

  15. 15

    動的に変化する特定のWebサイトのPOSTリクエストの最後のページインデックス番号を知る方法

  16. 16

    Linuxでイーサネットデバイスをスイッチに直接接続する方法は?

  17. 17

    グループ化されたセットに関数を適用し、列を既存のデータフレームにバインドする方法

  18. 18

    モバイルデバイスでサイト本体のタッチパンを無効にする

  19. 19

    Java webapp / clientでwebサービス/ xmlバインディング用に生成されたアーティファクトを管理する最良の方法は?

  20. 20

    マルチインデックス列を持つデータフレーム内の1セットの列に適用する方法

  21. 21

    インサートを最適化する最良の方法

  22. 22

    3Dタッチ(感圧タッチ)をサポートするデバイスでTouchableOpacityまたはTouchableHighlightをクリック可能にする方法

  23. 23

    3.5インチと互換性のある4インチ用に設計された画面サイズを最適化する方法

  24. 24

    mlr3のインジケーター列とバッチトレイン予測に従ってタスクをサブセット化する方法は?

  25. 25

    データベース内のチャットメッセージの保存を最適化する方法

  26. 26

    バイトをメガバイトに変換してからdescで並べ替えるデータベースクエリを最適化する

  27. 27

    Angularjsでリアルタイム通知用に$ intervalを最適化する方法は?

  28. 28

    テーブルにフィルターを適用した後、データをドロップダウンリストにバインドする方法

  29. 29

    webpackバンドルサイズをさらに最適化する方法

ホットタグ

アーカイブ