在开发项目的时候,有时候会遇到向h5传递值,可以使用localStorage ,url拼接 ,cookie ,UserAgent 。
虽然url只用起来最方便,但是局限性也大。我们今天使用UserAgent传递值很简单
WebSettings settings = Webview.getSettings();
settings.setUserAgentString("测试");
这样h5就可以获取我们传递的值了,但是遇到h5中使用select标签时,会出现无法弹框的问题.用力按压下才会弹出。
UserAgent其实就是用户代理,包含浏览器各种标识。在使用UserAgent传递值的时候,如果直接用
settings.setUserAgentString("测试");
就会直接覆盖掉标识,就会导致h5中的select无法弹框,(select最终会弹出原生的dialog)
解决办法 ,在原有UserAgent信息下 拼接
settings.setUserAgentString(settings.getUserAgentString() + "测试");