在Android上以本地分辨率显示不可缩放的网页?

4

我已将以下内容添加到网页中,以使其在移动设备上无法缩放,并尝试以本机分辨率显示:

<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=no" /> 

然而,在我的三星 Galaxy S 上查看并从 JavaScript 打印出 screen.width 时,它在纵向方向上给出 320,在横向方向上给出 533。我怎样才能使其使用本机分辨率 480 × 800?或者说这不可能吗?

我想这样做是为了避免图像质量因放大 1.5 倍(最初呈像素状态,然后应用平滑滤镜)而降低。


我在这里找到了一些有用的信息(https://developer.mozilla.org/en/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel)。因此,“device-width”设置为任何可以提供96 dpi“CSS像素”的内容,而不是设备上的物理像素数量,并且避免图像退化的正确方法是将它们显示为缩小的大小(即比其实际大小更小的宽度/高度),以补偿更高分辨率屏幕上的自动缩放。 - markshep
4个回答

6

这个视口语法实现了所需的行为:

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />

通过指定目标密度来匹配显示器的原生密度,可以以原生分辨率(1像素=1像素)呈现,并且不会出现平滑或其他伪影。在三星Galaxy S上对我有效,但在其他设备和Android /浏览器版本上可能会有所不同。更多信息请参见下面链接:http://developer.android.com/guide/webapps/targeting.html#ViewportDensity

0

我认为如果您将最大(和最小)比例固定为初始比例,就像这样

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

0
MGWT 用户提示: MGWTSettings.ViewPort 无法正确设置“target-densitydpi”。 这必须在您的HTML文件中设置。

0
一旦meta viewport就位,如果页面的html/css中有任何内容让移动浏览器认为应该显示宽度较大的内容,则仍然可以拥有缩小的页面和微小的文本。即使是普通的<p>标签内有足够的文本</p>也会导致整个页面缩小。找出罪魁祸首的一种方法是更改您的css,使用{ display: none }删除一些内容,直到找到引起问题的确切部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接