繁体   English   中英

Cordova 6.3.1忽略视口元标记

[英]Cordova 6.3.1 ignores viewport meta tag

我正在尝试使用视口元标记缩小我的HTML布局,该布局比设备的宽度大。 但是,似乎视口meta被忽略了。

我正在使用Cordova 6.3.1 CLI和以下简单的html文件进行测试:

<html>
<head>
    <meta charset="utf-8">
    <!--<meta name="viewport" content="width=600" />-->
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"  />
    <title>Test</title>
</head>
<body>
    <!--<div style=" background:#CCC; width: 1280px; height: 800px;"></div>-->
    <img src="test.jpg" width="1280" height="800"/>
</body>
</html>

配置xml如下:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.myapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <feature name="Whitelist">
        <param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />
        <param name="onload" value="true" />
    </feature>
    <name>My App</name>
    <description>My App Desciption</description>
    <author email="contacts@myself.com" href="http://www.example.com/">
        myself
    </author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-intent href="market:*" />
    <icon density="ldpi" src="icons/drawable-ldpi/ic_launcher.png" />
    <icon density="mdpi" src="icons/drawable-mdpi/ic_launcher.png" />
    <icon density="hdpi" src="icons/drawable-hdpi/ic_launcher.png" />
    <icon density="xhdpi" src="icons/drawable-xhdpi/ic_launcher.png" />
    <icon density="xxhdpi" src="icons/drawable-xxhdpi/ic_launcher.png" />
    <icon density="xxxhdpi" src="icons/drawable-xxxhdpi/ic_launcher.png" />
    <preference name="loglevel" value="DEBUG" />
</widget>

但是这些都没有将我的html页面缩小到适合屏幕的大小。 我已经在Android 4.4和5.1上进行了测试

我缺少某些设置吗?

更新

我发现我可以按以下方式更新onCreate方法,以将网页缩放到63%。 但是,视口标记在此替代方法中不起作用,您只需删除它即可。

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        if (appView == null) {
            init();
        }

        // If keepRunning
        this.keepRunning = preferences.getBoolean("KeepRunning", true);

        ((WebView) appView.getView()).getSettings().setUseWideViewPort(true);
        ((WebView) appView.getView()).setInitialScale(63);
        appView.loadUrlIntoView(launchUrl, true); // Set by <content src="index.html" /> in config.xml
    }
}

这似乎是一个已知的错误[CB-12015]小于1.0的初始刻度值在Android上被忽略-ASF JIRA

我已决定采用上面UPDATE部分中提到的解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM