Android——PhoneGap/WebView 忽略视口(viewport)元标记?

标签 android html webview cordova

我有一个网页,我正尝试使用 PhoneGap(它使用设置为“appview”的普通 WebView)在我的 Android 设备上显示(从项目的 Assets 目录加载),但 webview 完全忽略了以下:

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

无论我在这一行中设置什么(我已经尝试显式设置缩放、以像素为单位设置宽度/高度等),设备完全忽略它并将网站呈现为非常小并锚定在左上角- 屏幕的手角。我可以使用捏合手势放大(即使我在上面的 html 代码中明确禁用放大),但我希望页面被放大以正确适应加载的设备。

这是有趣的一点...如果我将完全相同的网站放在我的网络服务器上并使用我的测试设备上的默认浏览器导航到它,页面会正确加载(缩放到设备的正确大小)。

请帮忙。

谢谢。

EDIT1:

我目前的设置是:

<meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,target-densitydpi=device-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />

这也完全被忽略了。

EDIT2:

这里有一些有趣的东西......

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

上面的行在模拟器中将页面缩放到 2 倍,但在我的设备上没有任何改变(运行 2.2.1 的三星 Epic)。尽管如此,即使是 2 倍,页面也没有被缩放到模拟器的宽度……我必须将其设置为“initial-scale=2.5”之类的东西。

最佳答案

尝试在扩展 DroidGap 的 Java 类的 onCreate() 方法中添加以下两行代码。

this.appView.getSettings().setUseWideViewPort(true);
this.appView.getSettings().setLoadWithOverviewMode(true);

如果您的视口(viewport)标签现在开始工作,请告诉我。

关于Android——PhoneGap/WebView 忽略视口(viewport)元标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4916983/

相关文章:

java - 如何在 Android Studio 调试中生成打印消息?

html - 避免滤镜模糊导致关闭的 DIV 元素模糊

android - Flutter中有WebView吗?

Android Webview 使用自签名证书

java - 在 android 的 webView 中打开 Url

android - Listview 不在 android 中显示正确的图像

android - 默认发布 lint 与 gradle lint 任务

android - 使用相机拍照时如何找到 getThumbnail 的 origID.TakePicture

javascript - jQuery - 在带有内容的 div 上方切换幻灯片

javascript - 避免使用 javascript-jquery 代码显示级联 div