我正在为移动设备开发一个网络应用程序。 iPod,所以平台独立。为此,我使用html作为嵌入在adv.java servlet中的前端。
但是,屏幕分辨率存在很大问题。如何为任何Web浏览器动态设置屏幕分辨率?
理想情况下我不想要水平滚动条;那么什么方法可能在这里起作用?
答案 0 :(得分:5)
使用css3媒体查询改变您的页面设计:
http://www.webdesignerwall.com/tutorials/css3-media-queries/
适用于iPhone 4
以下样式表是 专为iPhone 4而设(学分: Thomas Maier)。
<link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="iphone4.css" />
适用于iPad
您还可以使用媒体查询进行检测 方向(肖像或景观) 在iPad上(学分:Cloud Four)。
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
答案 1 :(得分:4)
使用JavaScript无法真正改变手机上的浏览器尺寸。
您需要根据客户端使用不同的CSS规则。您可以通过嗅探User-Agent HTTP标头并从后端提供特定的CSS文件或使用CSS3媒体查询来实现此目的。
答案 2 :(得分:3)
你将不得不做一些研究,但在下面我已经概述了你可以做些什么来实现你想要的东西(我想?)
如Ates所述,您可以使用条件CSS样式表,例如:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="../style/ie.css" media="all" />
<![endif]-->
该样式表只能由Inernet资源管理器浏览器“运行”,它对修复程序很有用。但是,您可能需要再次研究这些浏览器在不同类型的浏览器中的行为,尤其是移动平台上的新浏览器。
您有时可以将其进一步扩展到特定版本,例如:
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="../style/ie7.css" media="all">
<![endif]-->
或者,正如Ates所提到的,您的服务器可以检测到User agent字符串(99.99%的时间这是诚实的,有些用户会出于安全/偏执/欺骗的原因修改/清除这些字符串)所以他们不是福音,而是和福音一样好。
以下是如何使用Java servlet请求各种变量:
String accept = request.getHeader("accept");
String user_agent = request.getHeader("user-agent");
String accept_charset = request.getHeader("accept-charset");
String accept_language = request.getHeader("accept-language");
String x_wap_profile = request.getHeader("x-wap-profile");
String profile = request.getHeader("profile");
你所追求的那个可能是user-agent
这应该包含浏览器信息和版本。同样,您将不得不进行测试以确定您需要处理哪种类型的字符串,据我所知,没有标准的“实时”用户代理字符串的完整列表。
以下是用户代理字符串的一些示例:
您的用户代理是:Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.12)Gecko / 20101026 Firefox / 3.6.12(.NET CLR 3.5.30729)
http://user-agents.my-addr.com/user_agent_request/user_agent_examples-and-user_agent_types.php
如果您也基于此编写代码,它将会遇到与新版本相关的问题,并且可能会非常快速地过时。
另一个解决方案是在页面上提供iframe,您可以根据需要设置属性/样式,有或没有水平/垂直滚动条,您可以设置它的确切大小,以及许多其他内容。以下是iframe的属性:
SRC=URI (URI of frame content)
NAME=CDATA (name of frame)
LONGDESC=URI (link to long description)
WIDTH=Length (frame width)
HEIGHT=Length (frame height)
ALIGN=[ top | middle | bottom | left | right ] (frame alignment)
FRAMEBORDER=[ 1 | 0 ] (frame border)
MARGINWIDTH=Pixels (margin width)
MARGINHEIGHT=Pixels (margin height)
SCROLLING=[ yes | no | auto ] (ability to scroll)
因此,使用iframe将特定样式表的提供与不同平台相结合可能会产生您所追求的结果。
我还建议你开始阅读和learning about CSS,因为它会对你有很大帮助。
答案 3 :(得分:1)
此外,在所有CSS中,请记住使用相对大小。即%和em而不是像素和点。(适用于文本,边距,填充,适用时)