Wäre es theoretisch möglich zu erkennen (z. B. über JavaScript), ob ein Benutzer eine Webseite mit der Windows-Verknüpfung Ctrl+ Foder dem Mac-Äquivalent Command+ Fin seinem Browser abfragt ?
Der erste Schritt wäre zu erkennen, ob diese Funktion aufgerufen wurde, aber es wäre ein anderes Ballspiel, ihre Tastenanschläge zu verfolgen ...
Ich frage, weil Web-Apps häufig Tastaturkürzel neu verkabeln, um andere Aufgaben zu erledigen (oder sie werden vollständig deaktiviert, zum Beispiel in einigen Fällen von HTML5 canvas
, die Tastenkombination Command+ Wzum Schließen der Registerkarte nicht Arbeit). Dies ist wahrscheinlich ein anderer Mechanismus, und ich habe keine großen Hoffnungen. Darüber hinaus wissen ohnehin nur etwa 10% der Benutzer , wie man die Ctrl+ F-Funktion verwendet.
quelle
Antworten:
Wenn Sie die Ereignistastatur Ctrl+ erfassen Fund mit dem Öffnen des Standardsuchfelds des Browsers fortfahren möchten, können Sie Folgendes tun:
Dies ist ein Live-Beispiel .
Wie Sie im Beispiel sehen können, sendet die Ereignisfunktion beim Drücken der richtigen Tastaturkombination ein Ereignis
"log string"
in der Konsole ("EVENT INTO FUNCTION"), während der Status eines Flags (isNewSearchEvent
) geändert wird .Dieses Flag wird in einem Timer ausgewertet, um ein anderes
"log string"
in der Konsole zu senden ("OUTSIDE EVENT FUNCTION").und öffnen Sie eine Warnung mit derselben Nachricht.
Diese doppelte Passage ist notwendig, da keine Unterbrechungen in der Ereignisfunktion erzeugt werden können, die mit einer korrekten Erfassungsgeschwindigkeit abhören sollten.
quelle
Ja es ist möglich:
Und mit
.preventDefault()
stornieren wir die reguläre Veranstaltung. Aber für die Befehlstaste bin ich mir nicht sicher, was es ist. Einige sagen, dass es ist,e.metaKey
wenn Sie jQuery verwenden, da das Problem darin besteht, dass die Befehlstaste nicht in jedem Browser den gleichen JavaScript-Schlüsselcode hat, also müssen Sie damit umgehen manuell oder jQuery kann Ihnen helfen.Wenn Sie es testen möchten http://jsfiddle.net/a5t2q/
BEARBEITEN: Sie müssen auf den Abschnitt "Ergebnis" klicken, um zu sehen, dass Strg + F blockiert ist, da dieser Abschnitt in diesem Fall als "Dokument" bezeichnet wird.
quelle