2010-07-25 19 views
33

我正在開發相當大的網絡應用程序,這可能是一個好主意,用於一些常見任務的熱鍵。然而,我發現找到安全的組合鍵是一個問題,關於所有不同的瀏覽器和操作系統。例如,Chrome有這麼長的熱鍵列表,試圖爲我的web應用程序使用某種邏輯熱鍵方案是不可能的 - 例如, ctrl + 1,ctrl + 2,ctrl + 3等...什麼是可用於Web應用程序的跨瀏覽器和跨操作系統安全鍵盤快捷鍵?

所以我重複我的問題,你有一些安全熱鍵的cheatsheet可以在webapp中使用,而不必擔心瀏覽器或操作系統的干擾?

謝謝。

+1

哦,我忘了發佈一個鏈接到微軟的網站與常用的熱鍵在他們的操作系統:http://support.microsoft.com/kb/301583 – Frodik 2010-07-25 13:54:48

回答

10

我不會指望它。聽取使用alt修飾符的快捷鍵可能沒有問題,但仍然無法確定鍵盤快捷鍵是否可用。用戶可以隨時安裝監聽鍵盤快捷鍵的程序,或者使用您沒有預料到的瀏覽器。

如果只有在用戶沒有輸入文本框或其他東西時才能使用快捷方式,那麼只聽按下不帶修飾鍵的按鍵可能是一個更好的主意。
如果沒有文本框或其他gui元素被重點關注,那麼document.activeElement == document.body應該是true。 (如果我錯了,有人糾正我)。

7

我不認爲有這樣的列表。對於不同的語言環境,這可能會有所不同。

您可以嘗試依賴HTML的accesskey功能:http://www.w3.org/TR/html401/interact/forms.html#adef-accesskey。這應該使碰撞次數相對較少。雖然我相信Windows瀏覽器會將這些按鍵作爲Alt + Letter與菜單欄相沖突。

或者,您可以使用Google閱讀器和Gmail的功能:直接使用字母,而不使用任何熱鍵修飾符。但這隻適用於某些類型的應用程序。

+0

謝謝你的答案。問題在於,熱鍵的大多數功能都發生在文本框中,所以在這種情況下,accesskey是無用的。 用戶在窗體中輸入商店項目,現在我正在使用例如ctrl + enter作爲快捷方式添加商店項目或ctrl + f1使用ajax查找項目以查看它是否已經存在,依此類推... 我花了一些時間在Google上搜索,我認爲真的沒有網絡應用程序一般可用的熱鍵列表。我只是以爲這裏有人可以爲自己創造一個。 – Frodik 2010-07-25 16:05:02

0

與大多數列表一樣,列出(並因此查找)存在的東西比存在的東西更容易。取決於你如何定義「安全熱鍵」,有很多(基本的),或者數千(稍微高級的,比如Gmail如何使用兩個字母組合(hotstrings))。

我認爲你可以做的最好的就是看看OSbrowser這兩個全面的列表,並根據這些列表製作一個列表。如果你想更進一步,here is something that might help you (not tested it myself)

對於你的具體問題,我認爲你應該看看Gmail,Facebook,記得牛奶如何使用熱鍵;因爲這些都已經很好地解決了你的問題。如果你列出他們使用的內容,你可能會有一個熱鍵列表在那裏使用。在附註中,我使用Breevy,AutoHotkey和其他幾個創建高級快捷鍵(43,956和計數)的程序,並且由於它們是簡單的類型,因此幾乎不存在與其系統重疊熱鍵的問題。

0

Facebook的使用下面的那些需要不同的主鍵按取決於所使用的瀏覽器:

https://www.facebook.com/help/156151771119453?helpref=faq_content

Key Combinations for Different Browsers 

Find the right combination of keys for your browser in the list below, and replace # with the access key number listed under Access Keys below. 

Internet Explorer for PC: Alt + #, then Enter 
Firefox for PC: Shift + Alt + # 
Safari for Mac: Ctrl + Opt + # 
Firefox for Mac: Ctrl + Opt + # 
Chrome for Mac: Ctrl + Opt + # 
Chrome for PC: Alt + # 

Access Keys 
0 - Help 
1 - Home 
2 - Timeline 
3 - Friends 
4 - Inbox 
5 – Notifications 
6 – Settings 
7 - Activity Log 
8 - About 
9 - Terms 

然而,Facebook的支持在所有瀏覽器這些快捷方式:

Web Messenger Keyboard Shortcuts 
CTRL + g - Search conversations 
CTRL + q - Show/hide keyboard shortcuts 
CTRL + Delete - Archive/unarchive conversation 
CTRL + j - Mark as spam 
CTRL + m - Start a new message 
CTRL + i - Go to Inbox 
CTRL + u - Go to Other 

結論:某些快捷方式可能適用於所有瀏覽器,但其中大多數需要額外解釋。