2012-08-10 64 views
0

我正在做一个PhoneGap/Sencha touch 2.0应用程序,使用xTemplates来呈现HTML。性能是一个问题,不知怎么的,键入<input type='password'>标签的速度比输入<input type='text'>标签要快得多(意味着在虚拟键盘上点击该字符的时刻和它实际出现在输入中的时刻之间的延迟盒子是短了很多与type=password没有文本安全性的密码字段

我不知道这是为什么,我觉得我真的没有时间来解决性能问题,从它的根本原因(项目即将结束很快)

我看到的最简单的解决方法就是禁用文本安全性,并让我的输入/文本框为密码类型。

我认为这是应该做的伎俩:

-webkit-text-security: none; 

但我不能让它工作,

我失去了一些东西在这里? (我试着将它添加inline!important,但没有任何运气)

+0

没有运行,'-webkit-文本security'将添加文本掩蔽对文本输入,但[不适用于密码输入(HTTP:/ /css-tricks.com/snippets/css/password-input-bullet-alternatives/)。除此之外,你意识到这是一个安全明智的坏主意,是的? (认为​​XSS) – steveax 2012-08-10 19:05:37

+0

其实,我没有看到这究竟是如何使应用程序更容易受到XSS,然后它已经是,我认为webkit文本安全只在显示水平,我不认为密码文本本身编码任何不同,还是呢? – user1135233 2012-08-10 20:10:13

+0

是的,第二个想到的可能并不是XSS风险增加,但浏览器确实对待密码字段的方式不同(自动填充,复制,页面刷新时发生的情况等),这可能会影响安全性。 – steveax 2012-08-11 16:07:00

回答

0

从我所看到的,密码字段是一个扩展Ext.field.Text,这可能是你正在使用你的其他什么表现不佳的领域。

这是煎茶 - 触摸全debug.js:

Ext.define('Ext.field.Password', { 
    extend: 'Ext.field.Text', 
    xtype: 'passwordfield', 
    alternateClassName: 'Ext.form.Password', 

    config: { 
     /** 
     * @cfg 
     * @inheritdoc 
     */ 
     autoCapitalize: false, 

     /** 
     * @cfg 
     * @inheritdoc 
     */ 
     component: { 
      type: 'password' 
     } 
    } 
}); 

我猜,你所看到的速度优势是从减少字符查找到一个人物?这是一个总猜测。

使用Sencha Touch,您高度依赖于WebView控件以及它在特定平台上的工作效果。如果这是在Android 3.0平台上,请告诉您的客户吸取它或不支持该平台。即使Sencha Touch示例代码在平台或2上也有抖动滚动和性能问题。对我而言,Android 3.0是最差的。我听说4.0修复了这些问题。

业绩不佳的网页流量在3.0和3.1 http://code.google.com/p/android/issues/detail?id=17458

+0

嘿,谢谢你的回复。我没有使用sencha的密码字段,我正在使用xTemplate对象内呈现的典型HTML 标签。 (还有其他原因,为什么这个女巫会很长时间)。我不认为单字符查找会产生差异,因为刚刚输入的字符会被显示,并且只有在输入下一个字符时才在圆圈中进行转换。我只是不明白为什么一个类型=文本的输入标签比较慢,那么当type = password ...对我来说没有意义... – user1135233 2012-08-10 20:03:12