让Android上的浏览器用设备实际像素打开你的网页

2014-11-07 17:12:53来源:威易网作者:icech

最近做了一个网站,发现在Android平板浏览器下访问,分辨率并不是设备自己的像素。我用的是华为荣耀平板,设备实际的分辨率是1280x800,但是我用js测算出来的document.body.clientWidth只有980px。

最近做了一个网站,发现在Android平板浏览器下访问,分辨率并不是设备自己的像素。我用的是华为荣耀平板,设备实际的分辨率是1280x800,但是我用js测算出来的document.body.clientWidth只有980px。

说明Android下浏览器默认的并不是实际像素,而是中像素密度。(注:Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度)

为了防止Android Browser和WebView根据不同屏幕的像素密度对你的页面进行缩放,就要在网页里加上一段代码,控制网页展示的分辨率。

<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, target-densitydpi=device-dpi' name='viewport'>

这里面,target-densitydpi的功能就是指定屏幕像素密度DPI。它的参数有:

  • device-dpi –使用设备原本的 dpi 作为目标dpi。不会发生默认缩放。
  • high-dpi – 使用hdpi作为目标dpi。中等像素密度和低像素密度设备相应缩小。
  • medium-dpi – 使用mdpi作为目标dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。这是默认的target density。
  • low-dpi -使用mdpi作为目标dpi。中等像素密度和高像素密度设备相应放大。
  • <value> – 指定一个具体的dpi值作为target dpi。这个值的范围必须在70–400之间。
关键词:Android浏览器