首页 > Android浏览器 > WebKit for Android分析: AutoFill

WebKit for Android分析: AutoFill

2012年4月25日 发表评论 阅读评论

转载时请注明出处和作者联系方式: http://mogoweb.net mogoweb@gmail.com

Android 4.0 Browser增加了表单自动填充功能,比较了一下UC、QQ、Opera、海豚浏览器等,都没有提供此项功能。问了很多人,也没人用过,所以就上网收集了相关资料。

先看看维基百科关于autofill词条的解释吧:

Autofill is a function in some computer applications or programs, typically those containing forms, which fills in a field automatically.

Most of the time, such as in Internet Explorer and Google Toolbar, the entries depend on the form field’s name, so as to not enter street names in a last name field or vice-versa. For this use, RFC 3106 proposed names for such form fields, but in the HTML 5 specification this RFC is no longer referenced, thus leaving the selection of names up to each browser’s implementation.

Chrome浏览器对于自动填充的说明:

您是否厌倦了反复填写信息相同的网络表单?您可以使用自动填充功能,只需点击一下便可完成表单填写。

如果需要详细了解自动填充的来龙去脉,可以阅读RFC 3106。简单说,自动填充就是为了提升用户体验整出来的东西,有了它,你就不用每次注册帐号时无聊的填写姓名、地址、城市等资料了。chrome浏览器做的更绝,信用卡卡号都可以自动填充。

Android浏览器的自动填充条目有:Full name、Company name、Address、Zip code、Country、Phone、Email等。Browser中有一个AutoFillProfileDatabase类来处理其存放,具体说就是保存在autofill.db数据库中。而WebKit的WebSettings.AutoFillProfile类就是用来表示这些字段信息的。整个处理逻辑也不复杂。

一切看起来很美妙,但要真正用起来还有许多障碍需要克服:

1、因为涉及到隐私,需要在浏览器的设置中开启Form Auto-fill选项;

2、用户需要比较勤快,事先要将上面的个人信息录入;

3、需要网站的支持,这些信息如何和表单上的字段对应,这就是RFC 3106所定义的,表单控件的命名需要遵守规范。RFC 3106给出了一个例子:

<HTML>
<HEAD>
<title> eCom Fields Example </title>
</HEAD>
<BODY>
 <FORM action="http://ecom.example.com" method="POST">
Please enter card information:
<p>Your name on the card   <INPUT type="text" name="Ecom_Payment_Card_Name" SIZE=40>

<br>The card number
  <INPUT type="text" name="Ecom_Payment_Card_Number" SIZE=19>
<br>Expiration date (MM YY)
  <INPUT type="text" name="Ecom_Payment_Card_ExpDate_Month" SIZE=2>
  <INPUT type="text" name="Ecom_Payment_Card_ExpDate_Year" SIZE=4>
  <INPUT type="hidden" name="Ecom_Payment_Card_Protocol">
  <INPUT type="hidden" name="Ecom_SchemaVersion"
         value="http://www.ecml.org/version/1.1">
<br>
<INPUT type="submit" value="submit"> <INPUT type="reset">
</FORM>
</BODY>
</HTML>

非常遗憾的是,国内的网站,包括京东、亚马逊中国、当当、淘宝等均不支持。

4、用户敢用么?某些网站可能会试图捕获隐藏字段或难以发现的字段中的信息,因此,请勿在您不信任的网站上使用自动填充功能。

5、某些网站会阻止浏览器保存您输入的内容,因此,无法在这些网站上填写表单。

总结:

1、自动填充功能基本上是无用的,至少在国内的环境下。

转载时请注明出处和作者联系方式: WebKit for Android分析: AutoFill mogoweb@gmail.com

分类: Android浏览器 标签: ,
  1. 2012年5月10日16:26 | #1

    版主大爱啊^^支持!

  2. 2012年5月13日12:46 | #2

    努力,兄弟你会不一般的

  3. 2012年11月26日10:38 | #3

    好几个月没见更新了,是否chrome for android出来,兄弟你就改行了。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.