0

我使用 jquery Mobile 创建了一个 webapp,并通过 webview 在本机应用程序上呈现它。它适用于 Android 4+ 设备,但使用 Gingerbread 设备滚动根本不起作用。

直接在设备的浏览器上加载网站确实有效,它只是在我的应用程序的 webview 上。这就是我创建 webview 的方式:

    mWebView = (WebView) findViewById(R.id.webView);
    mWebView.setFocusable(true);
    mWebView.setFocusableInTouchMode(true);
    mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    WebSettings s = mWebView.getSettings();
    // s.setUserAgentString(Constants.USER_AGENT);
    s.setRenderPriority(RenderPriority.HIGH);
    s.setJavaScriptEnabled(true);
    s.setDomStorageEnabled(true);
    s.setDatabaseEnabled(true);
    s.setAppCacheEnabled(true);
    s.setSupportZoom(true);

    s.setBuiltInZoomControls(true);
    s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    s.setUseWideViewPort(true);
    s.setLoadWithOverviewMode(true);
    s.setSavePassword(true);
    s.setSaveFormData(true);
    s.setJavaScriptEnabled(true);

关于问题可能出在哪里的任何建议?

4

1 回答 1

0

原来是因为jQuery Mobileoverflow:hidden设置了 CSS 属性。body我为我之前的 Honeycomb 设备将其设置为自动,并且似乎工作正常。

如果有人感兴趣,这是我使用 jQuery 所做的:

function isAndroidBelow3() {
    return !!navigator.userAgent.match(/Android [1-2]/i);
}

if(isAndroidBelow3()){
    $(document.body).css("overflow", "auto");
}
于 2013-10-01T07:34:54.620 回答