2012-08-10 76 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