HTML选择下拉菜单在android webview中不起作用
Posted
技术标签:
【中文标题】HTML选择下拉菜单在android webview中不起作用【英文标题】:HTML Select dropdowns are not working in android webview 【发布时间】:2016-07-03 07:23:53 【问题描述】:浏览器用户代理版本:
"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (Khtml, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5"
基本的 HTML 代码
<!DOCTYPE html>
<html>
<head>
<title>Test Pages</title>
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
</head>
<body>
<div>
<select>
<option>One</option>
<option>two</option>
<option>three</option>
<option>four</option>
<option>five</option>
</select>
</div>
</body>
</html>
这似乎适用于 UIWebView(iPhone) 和本机浏览器。只有 android webView 有问题。任何帮助将不胜感激。webview 是一个 Cordova 活动
【问题讨论】:
请发布您尝试在 Android WebView 中加载此 html 的代码。 @Bijeshp009 你能详细说明问题是什么吗? 请访问此答案,它可能会对您有所帮助 ***.com/a/43497233/3086769 我知道这是旧的,但this 回答为我解决了这个问题。 基本上,确保将活动作为上下文传递给 WebView 构造函数。 caniuse.com/mdn-html_elements_select 问题已解决。 :) 【参考方案1】:@mattstow 来自here的回答
Android 浏览器对<select>
s 的渲染存在错误,如果应用了背景或边框,则会删除正常样式。
由于<select>
s 看起来不像<select>
s 是一个相当大的可用性问题,因此最好不要仅为此浏览器设置样式。
不幸的是,没有纯 CSS 方式来选择/排除 Android 浏览器,所以我建议你使用 Layout Engine (https://github.com/stowball/Layout-Engine),它会在 <html>
标签中添加一个 .browser-android 类。
然后,您可以为所有<select>
s 设置样式,除了在 Android 浏览器上,如下所示:
html:not(.browser-android) select
background: #0f0;
border: 1px solid #ff0;
【讨论】:
这个解决方案似乎与问题无关。 @Bijeshp009 说选择不起作用。在 Android 上删除样式是否修复了选择?以上是关于HTML选择下拉菜单在android webview中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
android studio 的下拉菜单Spinner使用详解