最近更新: 2017-02-16

Touch IME 附加 On Screen Keyboard

on-screen-keyboard.js 是 Touch 輸入法(touch-ime)附加的一個以 HTML5 規格實作的 On-Screen 鍵盤(軟體虛擬鍵盤),故只能用於 HTML5 應用軟體之內。嚴格說來它只是 On page display keyboard ,但為了方便查找,還是按正式說法的 On screen display keyboard 命名。

Touch 輸入法源碼與文件請參考:

原本 touch-ime 的設計哲學是由 UI 設計者自行規劃輸入法與鍵盤的控制項佈局。不過針對 Embedded webkit 這類型的應用,若有一個可以無縫置入的軟體虛擬鍵盤會比較方便。所以我增加了這個附加項目。

on-screen-keyboard.js 的使用方式很簡單,將它放在 touch-ime.js 的後面即可。請看以下範例:

<script src="touch-ime.js" type="text/javascript"></script>

<script type="text/javascript">
// Put you touch-ime setup if you need.
</script>

<script src="on-screen-keyboard.js" type="text/javascript"></script>

<body>
Your page content.http://cgi.blog.roodo.com/trackback/25651856
</body>

on-screen-keyboard.js 會在頁面載入完成後,安插一個隱藏的虛擬軟鍵盤,以便讓 touch-ime 使用。然後 on-screen-keyboard.js 會去傾聽 touch-ime 的 oncomposition 和 oncompositionend 事件,判斷何時顯示或隱藏虛擬軟鍵盤。這個虛擬軟鍵盤懸浮在頁面上,使用者可以拖動其位置,以免其遮擋到頁面資訊。這些動作都是 on-screen-keyboard.js 內部處理負責的,程式設計人員基本上不必關心它。事實上,由於 on-screen-keyboard.js 的特殊設計,它是一個沒有名字可以指涉的黑箱,不開放任何行為給程式設計人員操作。它唯一開放的是它的源碼,所以想改變它就直接修改源碼吧。

on screen keyboard demo

on-screen-keyboard.js 具體的使用範例可以參考 Touch IME 源碼中的 on-screen-keyboard-demo.html 或者這篇「Touch IME 使用在嵌入 WebKit 的場合」。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/25786644.html

樂多舊回應
art110055@yahoo.com(eagle31) (#comment-23498430)
Mon, 21 Oct 2013 12:04:20 +0800
想請教閣下 utf8如何加密 我的疑問如下 php程式記載會員資料放在mysql asp會員資料放在mbd (沒有加密)
但是這asp程式已經寫好md5 預備接收php來的資料也必須被加密(但是從asp登入不用加密)
因為這php是以utf8編碼 因此繁體中文無法正確加密傳給asp
她有預備一個md5_utf8.asp給使用者調用
但是我搞不清楚應該放在何處調用 以致於php那邊的登入者雖然有登入但是都被標誌為(無權限的遊客)
所以這些會員的資料也無法存進去入mbd
勞駕指導 感謝
未留名 (#comment-23499898)
Mon, 21 Oct 2013 15:20:15 +0800
你的回應與本文無關。要提問,至少先在這部落格中找到有關聯的文章再發問。但因為我有別的話想寫,就提示一次。

你應該是搞錯兩種資料庫的字元編碼(不是加密編碼)。如果 PHP 這一端的資料庫是用 utf-8 ,而 ASP 端的資料庫是用 Big5 ,那麼你從 PHP 讀出來的資料,要傳給 ASP 這端之前必須轉換字元碼為 Big5 。反之,ASP 讀出的資料要傳給 PHP 端之前必須轉換字元碼為 utf-8 。跟 md5 沒有半分關係。

這事很明顯是搞錯解決方向,因為不了解字元編碼觀念所以浪費時間在無關的地方探索答案。
很多人在學習過程中都會犯這個問題,只求答案速解,而不去理解觀念。
我在現職公司就常常碰到這種狀況,同事在程式錯誤處探索老半天找不到答案,我只花不到三分之一的時間就找到了。
為什麼我這麼快就找出問題?差別就只在同事不通觀念,除錯時總是在亂槍打鳥。