網頁金手指

Home Home
引用 | 編輯 keigo
2006-01-17 21:25
樓主
推文 x0
有網友問說能不能做出那種要按某些特定鍵後轉到某網頁去?這感覺有點像是金手指一樣,輸入正確了就有些秘密關卡出現。雖然不建議用JavaScript來做這種驗證(因為不安全),不過應該也沒也什麼人閒到去看原始碼吧!

要做這種功能其實很簡單低,讓我們先來看一下Body的部份吧~:



放了一個TextArea是為了教學顯示資訊看的啦,到時候若要把語法放到網頁中的話,可以不用這個。

接著才是重點,JavaScript:



JavaScript可以分成三個部份來看。

第一是設定的部份:用變數passwd來記錄密碼myHref則是用來儲存欲轉換的網頁、key_array陣列是用來存放所輸入的鍵、最下面一行的onKeypress是要讓當在網頁中按下按鈕時,要觸發那個函式用的。

第二是記錄的部份:rec函式是用來把所按下的按鈕記錄在key_array陣列裡面,並判斷當key_array陣列長度若跟passwd相同時,便呼叫另一個驗證的函式。如何取得使用者按下什麼按鈕呢?答案就是event.keyCode。不過所得到的會是數字喔,像A就是65、B就是66..但a是97喔。在範例中的TextArea就是要讓各位看按下鈕是什麼數字用的。

第三是驗證的部份:用check函式一一比對passwd跟key_array陣列中的字是否相同,若相等就轉頁到變數myHref所設定的網頁去;若有一個字不相等,就清空key_array陣列中的值並跳離驗證。其中我用了變數isTrue來儲存驗證的結果是否相同。

每一行Code都有寫註解啦,所以應該都還看的懂吧!

各位可以試著執行一下範例,並看TextArea中的訊息。



passwd設為abcd,A是97..所以依序是98、99、100,若驗證合格就顯示true。

範例瀏覽:

http://abgne.myweb.hinet.net/0012/0012.html

以上內容於2005/11/14發表在小弟的Blog裡http://blog.xuite.net/abgne/diary1/4378798

獻花 x0
引用 | 編輯 jinhon
2006-01-29 15:56
1樓
  
小弟試不出來也,
係要在TEXT AREA KEY IN abc嗎? 表情

獻花 x0
引用 | 編輯 keigo
2006-01-31 19:29
2樓
  
不用在textarea裡面 直接在網頁中按abcd就可以了..
textarea是為了方便看是按下那個鍵用的^^a

獻花 x0