Dies funktioniert in Firefox und Chrome.
Ich musste eine spezielle HTML-Datei lokal öffnen (durch Drücken von, Enter
wenn die Datei im Datei-Explorer unter Windows ausgewählt ist), entweder nur zum Anzeigen der Datei oder zum Bearbeiten in einem speziellen Online-Editor.
Daher wollte ich zwischen diesen beiden Optionen unterscheiden, indem ich die Ctrl
Taste-gedrückt hielt oder nicht, während ich drückte Enter
.
Wie Sie alle aus allen Antworten hier verstanden haben, scheint dies nicht wirklich möglich zu sein, aber hier ist ein Weg, der dieses Verhalten auf eine Weise nachahmt, die für mich akzeptabel war.
So funktioniert das:
Wenn Sie Ctrl
beim Öffnen der Datei die Taste-gedrückt halten, wird im Javascript-Code niemals ein Keydown-Ereignis ausgelöst. Ein Keyup-Ereignis wird jedoch ausgelöst (wenn Sie die Ctrl
-Taste endgültig loslassen). Der Code erfasst das.
Der Code deaktiviert auch Schlüsselereignisse (sowohl Keyup als auch Keydown), sobald einer von ihnen auftritt. Wenn Sie Ctrl
also nach dem Öffnen der Datei die Taste- drücken , geschieht nichts.
window.onkeyup = up;
window.onkeydown = down;
function up(e) {
if (e.key === 'F5') return; // if you want this to work also on reload with F5.
window.onkeyup = null;
window.onkeyup = null;
if (e.key === 'Control') {
alert('Control key was released. You must have held it down while opening the file, so we will now load the file into the editor.');
}
}
function down() {
window.onkeyup = null;
window.onkeyup = null;
}