Sie lesen die englische Version dieses Inhalts, da für dieses Gebietsschema noch keine Übersetzung vorhanden ist. Helfen Sie uns, diesen Artikel zu übersetzen!
Typ | Objekt |
---|---|
Obligatorisch | Nein |
Beispiel |
"commands": { "toggle-feature": { "suggested_key": { "default": "Ctrl+Shift+Y", "linux": "Ctrl+Shift+U" }, "description": "Ereignis 'toggle-feature' senden" } } |
Verwenden Sie dencommands-Schlüssel, um für Ihre Erweiterung eine oder mehrere Tastenkürzel zu definieren
.
Jedes Tastenkürzel wird mit einem Namen, eine Kombination von Tasten und einer Beschreibung definiert. Sobald Sie einige Befehle in der manifest.json definiert haben, können Sie die zugewiesenen Tastenkombinationen mittels der JavaScript-API commands
verwenden.
Syntax
Der commands-Schlüssel
ist ein Objekt, und jedes Tastenkürzel ist eine Eigenschaft von ihm. Der Name der Eigenschaft ist der Name des Tastenkürzels.
Jedes Tastenkürzel ist selbst ein Objekt, das bis zu zwei Eigenschaften hat:
suggested_key
: diese definiert die Tastenkombinationdescription
: eine Zeichenkette, die dieses Tastenkürzel beschreibt
Die Eigenschaft suggested_key
ist selbst ein Objekt, das folgende Eigenschaften haben kann, die alle Zeichenketten sind:
"default"
,"mac"
,"linux"
,"windows"
,"chromeos"
,"android"
,"ios"
Der Wert jeder Eigenschaft ist das Tastenkürzel für den Befehl auf der angegebenen Plattform, der als Zeichenkette angegeben wird, die die durch ein „+“ voneinander getrennten Tasten enthält. Der Wert für „default“
wird auf allen Plattformen verwendet, die nicht ausdrücklich angegeben sind.
Beispiel:
"commands": { "toggle-feature": { "suggested_key": { "default": "Alt+Shift+U", "linux": "Ctrl+Shift+U" }, "description": "'toggle-feature'-Ereignis an die Erweiterung senden" }, "do-another-thing": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
Dies definiert zwei Tastenkürzel:
- eine mit dem Namen "toggle-feature", auf die mit Hilfe von Ctrl+Shift+U auf Linux und Alt+Shift+U auf allen anderen Plattformen zugegriffen wird
- eine mit dem Namen "do-another-thing", auf die mit Hilfe von Ctrl+Shift+Y auf allen Plattformen zugegriffen wird.
Sie könnten dann den ersten dieser Befehle mit einem Code wie diesen verwenden:
browser.commands.onCommand.addListener(function(command) { if (command == "toggle-feature") { console.log("toggling the feature!"); } });
Besondere Tastenkürzel
Es gibt drei besondere Tastenkürzel:
- _execute_browser_action: funktioniert wie ein Klick auf die Browseraktion der Erweiterung.
- _execute_page_action: funktioniert wie ein Klick auf die Seitenaktion der Erweiterung.
- _execute_sidebar_action: öffnet die Seitenleiste der Erweiterung. Wird nur in Firefox unterstützt und erst ab Firefox Version 54.
Dies definiert zum Beispiel eine Tastenkombination, um auf die Browseraktion der Erweiterung zu klicken:
"commands": { "_execute_browser_action": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
Tastenkürzel-Werte
Es gibt zwei gültige Formate für Tastenkürzel: als Tastenkombination oder als Medien-Taste.
Tastenkombinationen
Tastenkombinationen müssen aus zwei oder mehr Tasten bestehen:
- Modifikator (obligatorisch, mit Ausnahme der Funktionstasten). Dieser kann sein: "Ctrl", "Alt", "Command", "MacCtrl".
- zweiter Modifikator (optional). Wenn angegeben, muss dieser entweder "Shift" oder (für Firefox ≥ 63) "Ctrl", "Alt", "Command" und "MacCtrl" sein, wenn sie nicht als Hauptmodifikator verwendet werden.
- Taste (obligatorisch). Die kann sein:
- die Buchstaben A-Z
- die Zahlen 0-9
- die Funktionstasten F1-F12
- Comma (Komma), Period (Punkt), Home (Pos1), End (Ende), PageUp (Bild hoch) , PageDown (Bild runter), Space (Leertaste), Insert (Einfg), Delete (Entf), Up (Pfeil hoch), Down (Pfeil runter), Left (Pfeil links), Right (Pfeil rechts)
Die Taste wird dann als Zeichenkette angegeben, die den Satz an Tastenwerten enthält, in der oben angegebenen Reihenfolge, getrennt durch "+": zum Beispiel "Ctrl+Shift+Z".
Wenn eine Tastenkombination bereits vom Browser (zum Beispiel "Ctrl+P") oder durch ein bestehendes Add-on verwendet wird, können Sie sie nicht überschreiben. Sie dürfen sie definieren, aber Ihr Eventhandler wird nicht aufgerufen, wenn der Benutzer sie eingibt.
Medientasten
Alternativ kann das Tastenkürzel als eine der folgenden Medientasten angegeben werden:
- "MediaNextTrack", "MediaPlayPause", "MediaPrevTrack", "MediaStop"
Beispiel
Definieren Sie ein einzelnes Tastenkürzel, das nur standardmäßig verwendet wird:
"commands": { "toggle-feature": { "suggested_key": { "default": "Ctrl+Shift+Y" }, "description": "Ereignis'toggle-feature' senden" } }
Definieren Sie zwei Tastenkürzel, eins mit einer plattformspezifischen Tastenkombination:
"commands": { "toggle-feature": { "suggested_key": { "default": "Alt+Shift+U", "linux": "Ctrl+Shift+U" }, "description": "Ereignis 'toggle-feature' senden" }, "do-another-thing": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
Browserkompatibilität
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | ||||
---|---|---|---|---|---|
commands | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox Vollständige Unterstützung 48 | Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
F1-F12 | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox Vollständige Unterstützung 53 | Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
MediaNextTrack | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox
Vollständige Unterstützung
57
| Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
MediaPlayPause | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox
Vollständige Unterstützung
57
| Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
MediaPrevTrack | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox
Vollständige Unterstützung
57
| Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
MediaStop | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox
Vollständige Unterstützung
57
| Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
Secondary modifier other than Shift | Chrome Keine Unterstützung Nein | Edge Keine Unterstützung Nein | Firefox Vollständige Unterstützung 63 | Opera Keine Unterstützung Nein | Firefox Android Keine Unterstützung Nein |
global | Chrome Vollständige Unterstützung Ja | Edge Keine Unterstützung Nein | Firefox Keine Unterstützung Nein | Opera Vollständige Unterstützung Ja | Firefox Android Keine Unterstützung Nein |
_execute_sidebar_action | Chrome Keine Unterstützung Nein | Edge Keine Unterstützung Nein | Firefox Vollständige Unterstützung 54 | Opera Keine Unterstützung Nein | Firefox Android Keine Unterstützung Nein |
Legende
- Vollständige Unterstützung
- Vollständige Unterstützung
- Keine Unterstützung
- Keine Unterstützung
- Siehe Implementierungshinweise.
- Siehe Implementierungshinweise.