2012-03-03 16 views
2

私はresponsive web patternについて読んでおり、テストページで正常に実装しました。しかし、レイアウトはHTMLタグの順序/シーケンスによって制限されるという制限があります。コンテンツの多くにdisplay:noneプロパティを設定することはできますが、それはうまくありません。サーバー側のレスポンシブルウェブパターン

したがって、ユーザーがどのような種類のデバイスを使用しているかに基づいて、HTMLレスポンスがどのように含まれるかを区別する方法はありますか?私は主にScala(Lift)とJava EEソリューションに興味があります。

+0

"" 解決策が存在することはありませんリフトからサイトマップを使用した例があります。あまりにも多くのコードを重複させることなく、デバイスに応じてコンテンツをレンダリングできるフレームワークについて聞いたことがありません。多分あなたは強力なテンプレート言語をもっと探しているでしょう。 – phineas

答えて

2

リフトを使用すると、userAgentを識別できます。モバイルの場合は、ユーザーがデスクトップブラウザを使用している場合とは異なるHTMLを表示できます。

これを達成する方法はいくつかありますが、1つはサイトマップから、もう1つはスニペットからです。

mailing listは、それぞれの方法の詳細を尋ねるのに適した場所です。

更新

これは

def sitemap = SiteMap(
    Menu.i("Home")/"index" >> pickTemplate(), 
    Menu.i("First")/"first" 
) 

//Show mobile or regular page 
def pickTemplate() ={ 
    //If the browser is Chrome, pick this template 
    if(S.request.map(_.isChrome) openOr true ){ 
    Template(()=>Templates("chrome" :: Nil) openOr (NodeSeq.Empty)) 
    } else{ 
    Template(()=>Templates("other" :: Nil) openOr (NodeSeq.Empty)) 
    } 
}