「モバイル」デバイスの設計「例外」文字列の構成


16

iPhone、iPad、Android、タブレットなどのユーザーを別のデザインにリダイレクトするための「最先端」の例外文字列は何ですか?

つまり、私は

System -> Configuration -> Design

ユーザーインターフェイスには、ユーザーエージェント文字列と一致する正規表現を作成できる機能があります。私が探しているのは、人々がデスクトップ以外のコンピューターを別のモバイルおよび/または応答テーマにリダイレクトするために使用している特定の文字列ですか?

または、最近の「例外」アプローチよりも優れたアプローチがありますか?

回答:


15

使用した2つの異なるバージョンがあります。1つ目は、@ Mariusが特定の「Fennec」の言及(FF MobileのUA文字列に含まれない)をマイナスに言及したものと同じものです。私は同様のソースからそれを手に入れました:

iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini

2番目も同じですが、「モバイル」という用語を削除して、モバイルバージョンのサイトがiPadに配信されないようにします。iPadでは、ユーザーエージェントにモバイルが含まれます。AppleはTN2262でこれを呼び出すことさえ主張しています

iPad上のSafariは「デスクトップ」Webエクスペリエンスを提供できます。iPadには大画面と高速ネットワーク接続があるため、ユーザーはこのエクスペリエンスを期待するでしょう。小さな画面のモバイルデバイス用に最適化されたWebサイトのバージョンがある場合、iPadユーザーにこのモバイルバージョンを提供しないでください。

...

iPadユーザーエージェント文字列のSafariには「Mobile」という単語が含まれていますが、「iPhone」という単語は含まれていません。現在、「モバイル」として自己識別するブラウザにモバイルコンテンツを提供している場合、ユーザーエージェント文字列チェックを変更してiPadを探し、間違ったバージョンのサイトを送信しないようにする必要があります。

私がFF Mobileで見たものに基づいて、この文字列で「Android」を使用すると、デスクトップテーマをさまざまな理由でUA文字列に含めることが決定されているため、すべてのタブレット(iPadだけでなく)に配信したい場合に問題が発生します。

私は正直、上記の文字列のカバレッジを個人的にテストしていません。私はこれを知っています:それは複雑な混乱です!:)

注:EE 1.12以前(1.13をチェックしていない)でこれをセットアップする場合、FPCが正しく動作するにはMagentoサポートからのパッチが必要です。リリースビルドで設計の例外を考慮に入れません。

更新1:

EE 1.13.0.0および1.13.1.0には、設計の例外が機能するためにパッチを必要とする上記のバグがまだ存在します。Magentoサポートから入手可能なパッチがあり、既知の問題リストにあります:SUPEE-1598


あなたのために1.13をチェックします...しかし
...-philwinkle

1
十分に簡単に確認できましたが、現時点ではあまりにも怠justです。:)
デビダルガー

すべての深刻さで、これはかなり完全なリストです。+1。
-philwinkle

@davidalger、私は最初の表現を使用しました(あなたが言った)。次に、すべてのタブレット、iPad、iPad Miniでデスクトップサイトを表示する方法 それらはすべてモバイルテーマを表示しているためです。
キーショアパトラ

モバイルデバイス用にwww.m.myDOMAIN.comにモバイルデバイスをリダイレクトするために、これらの文字列をどこに配置しますか?Magento 1.9.1
Allysin

7

デスクトップテーマを提供するタブレット用と、モバイルテーマを提供する電話用の2つのデザイン例外を追加しました。最初にタブレットを対象とする例外を追加し、次に携帯電話を対象とする例外を追加します

錠剤

iPad|Silk|Kindle|Xoom|SCH-I800|Tablet|GT-P10|SC-01C|SHW-M180S|SGH-T849|SCH-I800|SHW-M180L|SPH-P100|SGH-I987|zt180|HTC(.Flyer|\\_Flyer)|Sprint.ATP51|ViewPad7|pandigital(sprnova|nova)|Ideos.S7|Dell.Streak.7|Advent.Vega|A101IT|A70BHT|MID7015|Next2|nook|Windows NT|DROID RAZR

携帯電話

android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iP(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|(Android.+Mobile)|NOKIA|SymbianOS|N900|BlackBerry|Mobile

これは予想通りほぼ100%動作します。クレジットを与える必要があります。また、基礎として正規表現を使用したbeeplogicに多大な感謝を捧げます。


1
私は、これは古いです知っていますが、携帯電話のリストから削除する必要がありますので、ちょうどiPadはまた、モバイルの文字列を使用していることを予告したかった
トゥーンヴァンDooren


1

これは私が使用したものです:

android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino

0

Androidデバイスの特定のバージョンを除外する特定のニーズがありました。同様のアプローチを使用して、iOSバージョンを除外できます。

次の例は、iPad、iPhone、およびバージョン「2。*」、「3。*」、「4.0 *」を除くすべてのAndroidに一致します

iPad|iPhone|Android ((?!(2\.|3\.|4\.0)).)

ネガティブなルックアラウンドを使用していますこちらの説明をご覧ください
「> 2.3」を模倣しようとすると、正規表現では機能しませんが、例として回避策が必要であることに注意してください。
オンラインで文字列の正規表現マッチングをテストするための優れたリソースはRubularです

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.