chaque navigateur a trouver la fonctionnalité de la page (ctrl + F). Existe-t-il un moyen de détecter les recherches d'utilisateurs dans javascript afin que je puisse attacher des actions supplémentaires.Y at-il un moyen de détecter trouver sur la page de recherche dans le javascript
Répondre
Bien sûr, vous pouvez essayer de crochet dans ctrl+f
ou cmd+f
raccourci, mais même si cela fonctionne sur "certains" navigateurs, de cette façon vous saurez seulement qu'un utilisateur a appuyé sur ce raccourci et est le plus susceptible de chercher quelque chose. Si le navigateur permet d'écraser ce raccourci, vous pouvez bloquer davantage le comportement par défaut et implémenter votre propre logique de recherche sur le site. Mais cela est considéré la plupart du temps comme une très mauvaise pratique. L'écrasement du comportement du navigateur natif est plutôt mauvais. Par contre, il n'y a pas d '«événement» qui se déclenche lorsqu'un navigateur exécute un processus de recherche. Par contre, il n'y a pas d' «événement» qui se déclenche. En bref, non, il n'y a aucun moyen de détecter ou d'accrocher un processus de recherche avec javascript (s'il y en a un, il ne sera jamais compatible avec tous les navigateurs).
Depuis que je suis intéressé par le processus de recherche, pas seulement contl + F, donc je vais devoir vivre avec ça. Merci – Alexander
Vous pouvez faire (pour détecter whenb une presse utilisateur ctrl + f):
window.onkeydown = function(e){
if(e.keyCode == 70 && e.ctrlKey){
//user pressed ctrl+f
}
Fiddle ici: http://jsfiddle.net/d8T72/
Voici une solution qui peut prendre en compte d'autres situations de recherche de pages (par exemple Commande + F, '/' sur Firefox). Il vérifie l'une de ces touches et définit une minuterie lorsqu'elles se produisent. Si la fenêtre est brouillée peu après, il est supposé que la boîte de dialogue Rechercher est affichée. Inconvénients: ne tient pas compte du lancement de la boîte de dialogue "Rechercher" via le menu. Je ne vois aucun moyen d'être sûr de cette partie, puisque (pour autant que je sache, au moins) l'interface utilisateur du navigateur est interdite à Javascript qui s'exécute dans le DOM.
var keydown = null;
$(window).keydown(function(e) {
if ((e.keyCode == 70 && (e.ctrlKey || e.metaKey)) ||
(e.keyCode == 191)) {
keydown = new Date().getTime();
}
return true;
}).blur(function() {
if (keydown !== null) {
var delta = new Date().getTime() - keydown;
if (delta >= 0 && delta < 1000)
console.log('finding');
keydown = null;
}
});
jsFiddle, testé dans Chrome, Safari et Firefox
Comme initialement suggéré par @Nicola Peluchetti, voici une version légèrement améliorée par fonction reniflant:
window.onkeydown = function(e){
var ck = e.keyCode ? e.keyCode : e.which;
if(e.ctrlKey && ck == 70){
alert('Searching...');
}
}
- 1. Y at-il un moyen de détecter la fermeture de la page par javascript?
- 2. Y a-t-il un moyen de détecter la fermeture d'android construit dans la boîte de recherche?
- 3. Y at-il un moyen de désactiver le 50% obtenu sur la recherche de texte intégral?
- 4. javascript sur la page de recherche et de remplacer
- 5. Y at-il un moyen d'arrêter tout javascript sur la page?
- 6. Y at-il un moyen de définir le numéro de la page de démarrage dans JasperReports?
- 7. Comment trouver le point central sur la page avec JavaScript?
- 8. Y a-t-il un moyen de détecter s'il y a un clavier matériel sur le téléphone?
- 9. Y at-il un moyen de détecter les messages non lus Texte sur WP7.1
- 10. Y at-il un moyen de détecter quand la valeur est définie via jquery?
- 11. Existe-t-il un moyen de détecter la mise en page dans un événement ItemAdded?
- 12. Y at-il un moyen de détecter Iphone si secoué via javascript?
- 13. Y at-il un moyen de détecter dans le navigateur si l'utilisateur a cliqué sur "Enregistrer sous" ou mis en signet la page?
- 14. Existe-t-il un moyen simple de détecter si un UISearchBar quitte le "Mode de recherche"?
- 15. Détecter le son Javascript
- 16. Y at-il un moyen de détecter si une chute est sur le point d'avoir lieu sur un JTree?
- 17. Y at-il un moyen de remplacer le module de recherche par défaut dans Drupal
- 18. Y at-il un moyen de détecter quand le code est collé dans une entrée?
- 19. détecter le bouton javascript appuyer sur webview?
- 20. Quel est le moyen correct de détecter quelqu'un qui navigue sur ma page avec un iPhone?
- 21. Y at-il un moyen de trouver la version SDK installée sur mon serveur?
- 22. Y a-t-il un meilleur moyen de trouver le nombre maximum dans un tableau?
- 23. Y at-il un moyen de déclencher une fonction javascript sur submit sans onsubmit()
- 24. meilleur moyen d'afficher les résultats de recherche sur la même page que le contrôle de recherche dans ASP.Net
- 25. Utilisation de javascript pour trouver le numéro de page de la page de visualisation actuelle dans un ibub de epub
- 26. Javascript: Y at-il un moyen d'obtenir le nom de fichier du fichier importé?
- 27. Événement flou javascript - Y a-t-il un moyen de détecter quel élément a maintenant le focus?
- 28. Comment détecter le flash audio automatique sur la page?
- 29. Rails3. Y at-il un moyen de séparer le fichier javascript pour différents contrôleurs?
- 30. Evénement javascript pour "Trouver dans la page" d'événement?
Intéressant question; Je n'ai jamais entendu parler de cela, et je ne pense pas l'avoir jamais vu en action, mais je suis curieux maintenant. – Pointy
pouvez-vous écouter un événement de clavier ctrl + F? (ou commande + F etc.) ou est-ce que cela ne passe pas à travers le dialogue de recherche? – jlb
Eh bien^F n'est pas le seul moyen de lancer une recherche - dans Firefox c'est "/" (au moins, c'est pour moi). – Pointy