Javascript - Taille d'une sélection

Bonjour,

Pour commencer, voici une partie de mon code qui me permet d'obtenir du texte sélectionné dans une page :
selection = document.getSelection();
range = selection.getRangeAt(0);
var offset = range.startOffset;
var container = range.startContainer;

Le problème c'est que je n'arrive pas à calculer la longueur du texte sélectionné !
Y a t-il une fonction qui existe pour ça ? (j'invente, mais du genre rangeSize(), selectionSize() ?)
Sinon quelle est la méthode à suivre pour l'obtenir ?

Je vous remercie d'avance !
Configuration: Windows XP
Firefox 3.0.11

8 réponses

  1. euh non ça ne marche pas du tout
    j'ai également essayé avec taille = len(selection.text)
    est ce que ça peut venir de mon navigateur ?
    1. undefined aussi !
      je vais continuer mes recherches sur google, je finirai bien par trouver ! je posterai ici quand je trouverai :)
      merci !
      1. Contributeur
        Bonjour,

        Si je puis me permettre, tu obtiens "undefined" parce que ta variable 'selection' n'est pas ce que tu crois être.
        1- Qu'est ce que c'est que ton 'document.getSelection()' ? C'est sensé te retourner quoi exactement ? Une valeur, un object de type 'text' ?

        Ton problème vient donc plus de la première ligne :
        selection = document.getSelection();
        


        Essai plutôt un truc du genre sélection par identifiant.
        Par exemple si tu as déclaré ton champ 'selection' de la manière suivante :
        <input type='text' id='selection' value=''/>
        


        Alors :

        var selectObj = document.getElementById('selection');
        if ( selectObj != null ){
           var selection = selectObj.value;
           alert('Longueur du champ = '+selection.length);
        }
        

        1. Contributeur
          kij_82, la ca te donne le nb de caractere total dans ton champs texte, or, je pense qu il voudrais savoir conbien de caracteres de ce champ texte sont sélectionnés.. d où, je suppose, le range()...

          Autant je suis d accord avec toi sur le code pour le champ entier, mais j avoue que je peche concernantt la selection...
          1. Contributeur
            Ha effectivement j'ai lu trop vite et mal compris le problème ^^

            Mum... faut réfléchir mais là j'avoue que je pars en vacances, bon courage ^^