J'essaie de comprendre comment l'outil de recherche dans un navigateur Web est capable d'analyser la totalité de la page Web (en supposant un contenu énorme sur une page) et de mettre en évidence le résultat au fur et à mesure de la frappe. Pré-cache-t-il la page en cours de chargement sur une carte ou utilise-t-il regex pour obtenir un résultat rapide à la volée?Comment l'outil de recherche de navigateur fonctionne-t-il sur une page Web?
Répondre
Le document est automatiquement lu par le navigateur. La recherche dans ce document peut parcourir l'arborescence DOM, décider des nœuds pouvant être recherchés et injecter des nœuds de document pour modifier l'affichage (par exemple, rendre le texte gras, etc.). Les algorithmes standard de correspondance de chaînes peuvent analyser une très grande partie du texte en une seconde (pensez-y, vous pouvez exécuter une partie multijoueur 3D avec détection de collisions, suppression de scènes, IA, effets sonores, effets flashy, intégration chat vocal, à 60fps sur un ordinateur standard, la recherche de quelques mégaoctets de texte n'est rien ..)
Je ne connais pas les détails, mais j'imagine que c'est quelque chose comme this.
L'algorithme de Boyer-Moore est un moyen très rapide et efficace de rechercher des sous-chaînes de texte.
Je suppose que cela impliquerait de parcourir le dom pour le texte brut. Je ne fais que spéculer mais je prendrais le dom et rechercherais des éléments qui pourraient contenir du texte en clair, à l'intérieur desquels je ferais une recherche du contenu de ces éléments et des éléments enfants. Si vous effectuez une recherche dans firefox et que vous regardez via firefbug, vous remarquerez que firefox modifie la dom du document afin que les éléments de recherche soient des enfants d'éléments eux-mêmes, auxquels un style tel que la surbrillance est appliqué.
Par exemple, voici ce qui se passe à 'eleme la phrase sur cette page si je commence une recherche en utilisant Firefox et mettre en évidence tous:
<span style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;" class="__mozilla-findbar-search">eleme</span>
Trouver une sous-chaîne dans un texte plus volumineux n'est pas un travail ardu pour un ordinateur. En fait, je crois qu'il est beaucoup plus difficile de rendre une page html (mais pas trop difficile) que de trouver une sous-chaîne. Comme mentionné, il existe des algorithmes rapides pour cela.
Gardez à l'esprit, votre machine est presque entièrement dédié à ce à ce moment, donc il y a beaucoup de capacité de traitement dédiés à cette (assez simple) travail ...
php/Smarty
en utilisant url encoder vous pouvez le faire? pls serach sur le fichier urlencode?= "C-content"
préfixeexemple de code :::: print_r ($ file); if (isset ($ fichier)) { $ var = exploser ("-", $ fichier); print_r ($ var); $ prefix = $ var [0]; $ script = $ var [1]; } sinon { $ file = "c-home1"; $ prefix = "c"; $ script = "home"; $ modid = 0; }
if ($ script == "") $ script = "prod_list";
---------------------------------------------- --------------------------------------------
// le code suivant trouve les modules de sufiix et trouve le nom du script switch ($ prefix) { case "c": $ module = "content"; pause; case "m": $ module = "mon compte"; pause; défaut: $ module = "contenu"; pause; }
$ smarty-> assign ("module", $ module);
// code suivant trouve les modules de suffixe et trouver le nom du script
include_script de $ = $ module "/" $ script.... "Php.";
if (Existences de fichier ($ include_script)) include_once ($ include_script); sinon include_once ("content/error.php"); if ($ script! = 'Home') { if ($ script == 'conditionsetcondition') { $ smarty-> display ("content/termsandcondition.tpl"); } else { $ smarty-> display ("template.tpl"); } } sinon { $ smarty-> display ("template_home.tpl"); $ smarty-> assign ("msg", $ msg); $ smarty-> assign ("msglogin", $ msglogin); } ?>
- 1. problèmes de WordWrap sur une page Web
- 2. Enveloppement de mots sur une page Web
- 3. Comment puis-je intégrer une recherche de lieu sur ma page Web avec google maps?
- 4. Page Web AJAX permettant de naviguer sur la page précédente
- 5. Comment publier sur une page Web
- 6. Comment remplacer l'aide intégrée de Visual Studio par une recherche Web par navigateur?
- 7. page Afficher ASPX dans le navigateur Web
- 8. Génération des vignettes de page Web côté navigateur
- 9. Comment montrer google map sur une page web sur asp.net?
- 10. Comment intégrer une vidéo flash sur une page Web?
- 11. Comment faire une recherche sur mon site Web
- 12. Utilisation d'onglets sur une page Web
- 13. Comment construire un navigateur de fichiers web?
- 14. Comment désactiver la recherche de dictionnaire dans le champ de saisie du navigateur Web?
- 15. Script de connexion à une page Web
- 16. créer une option de recherche pour les pages Web locales en marquant une page
- 17. Comment intégrer audio/vidéo sur une page HTML qui joue sur le navigateur iPhone sur GPRS
- 18. Comment google remplit-il les descriptions de liens sur une page de recherche?
- 19. Recherche de fichiers et de répertoires sur le site Web
- 20. Affichage de la vidéo sur une page Web statique
- 21. Lecture de flux audio sur une page Web
- 22. Verrouillage du navigateur Web: Comment?
- 23. Comment afficher l'adresse ipv6 sur une page web?
- 24. Comment définir un son d'arrière-plan sur une page Web?
- 25. Télécharger le fichier d'un tableau binaire sur une page Web
- 26. Comment ajouter une page Web à une définition de site?
- 27. Barre de progression sur la page Web
- 28. La recherche Google renvoie une page blanche
- 29. Comment faire pour définir la propriété URL d'un contrôle de navigateur Web sur une chaîne
- 30. simuler une frappe de page Web
Réponse non pertinente. – GTM