Android 文本区域/输入字段只能在chrome/webview中的s3上填充部分文本

Android 文本区域/输入字段只能在chrome/webview中的s3上填充部分文本,android,input,webview,textarea,Android,Input,Webview,Textarea,我们在三星s3(运行android 4.0.4)上的应用程序中发现了一个非常奇怪的错误 在文本区域中键入文本时,只有在按下空格键或从预想文本中选取一个单词后,每个单词的第一个字符才会填充 键入“what该死的…”将导致在文本区域中输入“w t h” 不同屏幕上的其他文本区域工作正常 关闭预测文本也解决了这个问题 以前有人遇到过这个问题吗?进一步调查后,我们注意到有问题的文本区域在聚焦时并没有改变外观-单击时,我们所有的工作文本字段都变成了带有橙色边框的方角字段 结果证明android做了一些奇怪

我们在三星s3(运行android 4.0.4)上的应用程序中发现了一个非常奇怪的错误

在文本区域中键入文本时,只有在按下空格键或从预想文本中选取一个单词后,每个单词的第一个字符才会填充

键入“what该死的…”将导致在文本区域中输入“w t h”

不同屏幕上的其他文本区域工作正常

关闭预测文本也解决了这个问题


以前有人遇到过这个问题吗?

进一步调查后,我们注意到有问题的文本区域在聚焦时并没有改变外观-单击时,我们所有的工作文本字段都变成了带有橙色边框的方角字段

结果证明android做了一些奇怪的事情,当输入字段获得焦点时,它会动态地用本地元素替换输入字段(因此出现了不可风格化的橙色边框的方形位:())

kicker-如果您的输入位于具有css绝对定位的元素内,则此操作将失败,并且这似乎还会扰乱某些形式的键盘输入。将元素(和父元素)设置为使用position static可解决此问题

我们只在s3上看到了这一点,当时predictive text处于启用状态(这是默认设置…),但它可能在其他设备上

这是因为Androids浏览器仍然一团糟

请注意,使用此css黑客阻止替换本机元素:

 input:focus { -webkit-user-modify: read-write-plaintext-only; }

导致我们的所有文本字段出现此线程中概述的问题。

我也有此问题很久了,但发现阻止此问题的关键是在每次遇到仅输入第一个字符的问题时关闭键盘设置中的预测文本选项。就我个人而言,我喜欢预测文本是on 99%的时间,但有些网页(主要是电子邮件提供商)没有为要使用的预测文本进行配置,因此我会打开预测文本,只要在遇到仅输入第一个字符的问题的网页时将其关闭即可。要打开/关闭预测文本,只需点击键盘上的cog按钮,即显示预测文本,只需将滑块向左滑动到关闭位置。这将允许键入整个单词,而不是一次只键入一个字符。然后,一旦您完成键入,您可以再次点击齿轮并重新打开预测文本