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 :

[DOM] range et browser


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Par défaut [DOM] range et browser
    Bonjour,
    je suis en train de programmer un truc et en cours de route je demande a l'usager de faire une selection de text (banale dans un <div>).

    Dans cette sélection je détecte si il a sélectionné le mot au complet ou seulement une partie du mot, et si il a selectionné seulement quelques lettre je m'occupe à sa place de tout sélectionné en ajustant le range.
    Et finalement si la sélection du user débute par des carateres illogique (une suite de '...', des espaces, des point virgule, etc...) et bien je recule dans la selection du user et lui founit encore une fois sa sélection 'clean' en changeant les range.

    exemple : Il y a le mot " ...parfum " l'usager selectionne seulement 'arf' alors je lui donne 'parfum' ou encore il selectionne '...parfum ' alors je lui donne 'parfum'

    Bon le truc c'est qu'en IE et Firefox le tout fonctionne.
    En safari : partiellement ... si le changement de range est négatif alors la ca shlingue.
    et finalement Opera = disfonctionnel

    Voici mon code pour changer les ranges :
    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
     
    /**
    *@param: selectedText c'est window.getSelection (selon le browser)
    */
    _moveSelectionPos : function(selectedText, startSel, endSel) {		
     
    		if (selectedText.getRangeAt) {			
    			var r1 = selectedText.getRangeAt(0);	
    			r1.setStart(this.selectedText.anchorNode, this.startSelection+startSel);//les startSelection = anchorOffset
    			r1.setEnd(selectedText.anchorNode, this.endSelection+endSel) ; //endSelection = focusOffset
    			window.getSelection().addRange(r1);
    			selectedText = window.getSelection();				
    		} else {	
    // ici tout est nickel		
    			this.rangeText.moveStart('character', startSel);
    			this.rangeText.moveEnd('character', endSel);
    			this.rangeText.select();	
    			selectedText = this.rangeText.text;	
    		} //ie browser			
    		return selectedText;
    	},
    alors si ca vous avez des truc pour m'aider j'aimerai bien (pour safari et opera)

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par 20-a-box Voir le message
    et finalement Opera = disfonctionnel
    Opera devrait fonctionner selon le modèle DOM ( http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ ) comme marqué sur le site Opera.

    Après, ce n'est pas sur que cette API soit pratique (c'est du W3C quand même ) mais tu devrais être capable de faire des range dans opera....

  3. #3
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Le support d'opera et de safari devrait fonctionner en modèle W3C :
    http://www.quirksmode.org/dom/range_intro.html

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Par défaut
    merci du coup de pouce ... j'avais le nez pointé sur cet url pourtant ... ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sélection avec l'objet DOM:Range
    Par freekind dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/03/2007, 14h24
  2. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53
  3. Réponses: 3
    Dernier message: 04/09/2002, 09h42
  4. Cherche composant Web Browser indépendant
    Par lancelot69 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/07/2002, 11h14

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