我们有一个用JSF编写的web应用程序,并且正在尝试添加一个移动版本。理想情况下,我们应该有一个单独的文件夹,里面有模板、CRUD和资源(例如jQuery移动),我们的登录页面将能够根据标题的用户代理属性选择合适的模板。
一种方法是使用scriptlet并重定向到mobile/index.xhtml - end,但是人们不喜欢scriptlet :D
另一种方法是将登录页面的内容(包括模板部分)包装在一个带有rendered="#{mobileDetector.isMobile()}“的panelGroup中,让一个支持bean执行该脚本将执行的操作。但我认为这有点削弱了模板,而且它不适用于head部分。
所以--有没有更好的方法?
发布于 2011-09-23 01:05:30
或者使用单独的子域,例如用于移动用户的mobile.example.com和用于桌面用户的(www.)example.com,和/或嗅探用户代理。在以下位置提供公共API:
或者,您可以使用CSS来隐藏/更改基于media type的部分HTML标记。
<link rel="stylesheet" href="css/desktop.css" media="screen,projection">
<link rel="stylesheet" href="css/mobile.css" media="handheld">
<link rel="stylesheet" href="css/print.css" media="print">
<link rel="stylesheet" href="css/iphone.css" media="all and (max-device-width: 480px)">
<link rel="stylesheet" href="css/ipad-portrait.css" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)">
<link rel="stylesheet" href="css/ipad-landscape.css" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)">https://stackoverflow.com/questions/7518543
复制相似问题