IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Rechercher un mot dans une page et aller directement au mot.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut Rechercher un mot dans une page et aller directement au mot.
    Bonjour,

    j'essaye de trouver un code qui permet de rechercher un mot et y aller directement à la ligne

    J'ai trouvé ceci mais il ne vas pas directement à la ligne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    ;(function(window) {
     
    	'use strict';
    	var document = window.document;
    	function textSearcher(query_selector, input_field, search_count_output, result_class) {
    		this._init(query_selector, input_field, search_count_output, result_class);
    		return {
    			_init: this._init.bind(this),
    			_search: this._search.bind(this),
    			_destroy: this._destroy.bind(this),
    		}
    	}
    	textSearcher.prototype = {
    		_init: function(query_selector, input_field, search_count_output, result_class) {
    			var document_nodes = document.querySelectorAll(query_selector);
    			this.searchable_nodes = [];
    			this.search_instances = [];
    			for (var node_index = 0; node_index < document_nodes.length; node_index++) {
    				var node = document_nodes[node_index];
    				if (node.offsetParent !== null && node.offsetHeight > 0 && node.childNodes.length && node.innerText.length) {
    					this.searchable_nodes.push(node);
    				}
    			}
    			this.searchable_nodes_length = this.searchable_nodes.length;
    		if (input_field && (input_field = document.querySelectorAll(input_field)[0])) {
    				this.input_field = input_field;
    				this.input_field.addEventListener("keyup", this.searchInputValue.bind(this));
    			}
    			if (search_count_output && (search_count_output = document.querySelectorAll(search_count_output)[0])) {
    				this.search_count_output = search_count_output;
    			}
    			this.result_class = result_class || "js-textSearcher-highlight";
    			return null;
    		},
    		_search: function(search_value) {
    			if (typeof search_value == "undefined") {
    				if (this.input_field) {
    					search_value = this.input_field.value;
    				} else {
    					console.error("You can only call this method without a value if an input field is bound");
    					return false;
    				}
    			}
    			var search_value_length = search_value.length,
    					search_regex = new RegExp(search_value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), "gi"),
    					node_index = 0;
    			this.search_count = 0;
    			var instance_index = 0;
    			while (instance_index < this.search_instances.length) {
    				this.search_instances[instance_index].revert();
    				instance_index++;
    			}
    			this.search_instances = [];
    			if (search_value_length) {
    				while (node_index < this.searchable_nodes_length) {
    					var node = this.searchable_nodes[node_index];
    					var instance = findAndReplaceDOMText(node, {
    						find: search_regex,
    						replace: function(portion, match) {
    							var el = document.createElement('span');
    							el.className = this.result_class;
    							el.innerHTML = portion.text;
    							return el;
    						}.bind(this)
    					});
     
    					this.search_count += instance.reverts.length;
     
    					this.search_instances.push(instance);
     
    					node_index++;
    				}
    			}
     
    			if (this.search_count_output) {
    				this.search_count_output.textContent = this.search_count;
    			}
    		},
     
    		_destroy: function() {
    			if (this.input_field) {
    				this.input_field.removeEventListener("keyup", this.searchInputValue);
    			}
    		},
     
    		searchInputValue(event) {
    			this._search(event.target.value);
    		}
    	}
     
    	window.textSearcher = textSearcher;
     
    }) (window);
     
    var searcher = new textSearcher("body > .content", ".search-input", ".search-count");
     
    searcher._search();
    Je vous remercie d'avance

    max
    cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu n'as toujours pas compris le principe du forum.

    Il ne suffit pas de balancer un code de 100 lignes et de dire : "debrouillez-vous avec ça."

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour,

    Je n'ai pas balancer un code de 100 lignes et de dire : "débrouillez-vous avec ça."

    j'ai demandé ou si je me suis mal expliquer je m'en excuse! je voulais dire s'il l'on pouvez le modifier pour aller directement au mot rechercher.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui, si tu comprends le code, c'est différent : tu peux le modifier.

    Sauf que.... tu attends de nous :
    • qu'on le lise
    • qu'on le comprenne
    • qu'on le modifie,
    • (éventuellement) qu'on te l'explique

    Ce n'est pas pareil.

    Citation Envoyé par apdf1 Voir le message
    ...Je n'ai pas balancer un code de 100 lignes et de dire : "débrouillez-vous avec ça." ...
    C'est pourtant bien ce que tu as fait.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Sauf que.... tu attends de nous :

    qu'on le lise
    qu'on le comprenne
    qu'on le modifie,
    (éventuellement) qu'on te l'explique
    J'aimerai que l'on m'explique et éventuellement si je n'arrive pas par moi même qu'on le modifie.

    si cela n'est pas trop demander.

    Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Et c'est quel bout du code qui coince ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Rechercher un mot dans une page et aller directement au mot
    Par toulousain3117 dans le forum jQuery
    Réponses: 9
    Dernier message: 16/12/2018, 11h30
  2. recherche d'un mot dans une page web
    Par fraisa1985 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 23/10/2008, 15h59
  3. Réponses: 1
    Dernier message: 17/08/2007, 15h19
  4. module de recherche de mots dans une page html
    Par Drozo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/08/2006, 09h57
  5. Recherche d'un mot dans une page
    Par Emcd dans le forum Langage
    Réponses: 4
    Dernier message: 12/01/2006, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo