0

メインのデスクトップWebサイトを作成し、モバイルサイトとTVサイトにリダイレクトできるようにしたいと思います。モバイルサイト用のコードをオンラインで見つけましたが、テレビ用にそれを行う方法がわかりません。これがモバイル向けです:

<script type="text/javascript">
if (screen.width <= 699) {
document.location = "index-mobile.html";
}
</script>

私のテレビの考え方はscreen.width >= 1280(720pの標準的なワイドスクリーン幅)ですが、最小のコンピューター画面でもこれに含まれます。すべてのゲーム機、セットトップボックス、スマートテレビなどを含めたいので、ユーザーエージェントを使用せずにこれをうまく行う方法はありますか?すべてのユーザーエージェントを取得することはできません。私はやろうと思っscreen.height == 720 or screen.height == 1080たが、これにはいくつかのモニターが含まれ、いくつかの国際テレビは除外されるだろう。

4

2 に答える 2

3

目標を達成するために使用できる可能性のあるアプローチは次のとおりです。

http://modernizr.com/

Modernizrは機能検出ライブラリです。一般に、デバイス検出ではなく、機能検出を実装することをお勧めします。

可能性が非常に多いため、画面の高さと幅は使用しないことをお勧めします。機能に基づいて区別するためのアプローチを再考すると、Modernizrのようなレイヤーを使用して複雑さを処理できる場合があります。

メディアクエリを使用したModernizrの例を次に示します。

if(Modernizr.mq("only handheld") === true){
  //Redirect to mobile site
}else if (Modernizr.mq("only tv") === true){
  //Redirect to TV
}else{
  //Anything else to the desktop
}

これがメディアクエリリファレンスです。私が使用したメディアクエリのサポートについてはよくわかりませんが、以下を見ると、これを機能させることができる場合があります。

https://developer.mozilla.org/en-US/docs/CSS/Media_queries

于 2012-08-17T19:48:35.513 に答える
0

最近、モバイルデバイスの画面サイズと同様の問題に対処する必要がありました。51Degrees.mobiには、画面サイズの検出を処理できるオープンソースのJavaソリューションがあります。APIの実装は非常に簡単で、ここにガイドがあります。私は基本的に、画面サイズを処理するためにガイドのコードを適合させました。

public static void main(String[] args) {
    Provider p = null;
    try {
        p = Reader.create();
    } catch (BinaryException e) {
        e.printStackTrace();
    }

    BaseDeviceInfo b = p.getDeviceInfo("ENTER USERAGENT HERE");
    String width = b.getFirstPropertyValue("ScreenPixelsWidth");
    String height = b.getFirstPropertyValue("ScreenPixelsHeight");
}

これにより、xおよびyの画面解像度値が取得され、それらを操作できます。彼らのプレミアムバージョンはテレビ/コンソールを検出できると思います。お役に立てれば。

于 2012-08-21T10:19:13.273 に答える