web-dev-qa-db-fra.com

Créer une recherche pour mon site HTML et CSS qui fonctionne sans connexion Internet ni base de données?

J'ai un site Web que j'ai rédigé en HTML et en CSS, et je souhaite y intégrer une fonction de recherche. Toutefois, le site doit être exécuté hors ligne, à partir des ordinateurs hôtes dans leurs navigateurs Web locaux (c.-à-d. Sans connexion Internet).

Je me rends compte que je pourrais facilement intégrer une recherche en utilisant une base de données mySQL, bien que cela obligerait tout le monde à avoir une base de données mySQL s'exécutant sur son ordinateur avec les données appropriées. Je me demandais s'il serait possible d'intégrer un champ de recherche qui n'aurait pas besoin de se connecter à une base de données (ou du moins qui n'exigeait pas une pile AMP s'exécutant sur la machine locale de chaque utilisateur).

J'ai cherché autour et n'ai pas pu trouver de solution à un problème similaire. La recherche ne doit pas nécessairement être simple, elle doit simplement permettre d’indiquer les titres des pages HTML dans une liste (je n’ai pas besoin du contenu de chaque document HTML à rechercher, mais seulement du titre de chaque page). Je pensais qu'il pourrait y avoir un moyen de renvoyer les titres et les descriptions de chaque page pour la recherche en utilisant les balises <meta> de chaque page ou en ayant un document en texte brut à la racine du site avec une liste de toutes les pages. . Toute aide serait grandement appréciée!

1
Cody Capella

Il n'y a aucun moyen de rechercher automatiquement dans tous les fichiers HTML. Cependant, en supposant que vos pages soient générées d'une manière que l'utilisateur puisse télécharger, vous pouvez également générer un fichier Javascript avec un tableau de pages/mots-clés.

Par exemple, il pourrait générer un objet JSON tel que var site_index = [ {page:"hello.html",keywords:"hello,world,etc"}, ... ];

Ensuite, une fonction pour prendre une entrée dans un formulaire et trouver les pages correspondantes.

1
DisgruntledGoat

Cela fonctionnerait, tant que les machines pourraient avoir accès à une copie locale du fichier php nécessaire.

http://www.w3schools.com/php/php_ajax_livesearch.asp

C'est assez simple à mettre en œuvre, cela correspond aussi parfaitement à vos critères

"Juste quelque chose qui pourrait présenter les titres des pages HTML dans une liste (je n'ai pas besoin du contenu de chaque document HTML pour faire une recherche, mais seulement des titres de chaque page)."

0
Adjam
  1. Créez un fichier XML sitemap/index incluant les titres (et peut-être quelques mots-clés) à utiliser dans les recherches.

  2. Appliquer un modèle XSL sur le fichier XML sitemap/index qui affiche un formulaire de recherche

  3. Créez un Javascript qui répond à la recherche dans le formulaire avec un XQuery pour filtrer/trier le fichier XML sitemap/index

0
danlefree