J'ai un objet de sélection où dans IE, je gère
range = selection.getRangeAt(0); firstNode = range.startContainer;
3 Réponses :
Je travaille aussi sur quelque chose de similaire. Je n'ai pas encore eu à la partie IE, mais je suggérerais d'itération dans la liste des propriétés de la gamme et de voir ce qui est disponible pour vous
var msg = ''; for (var i in range) { msg += i + ': ' + range[i] + '\n'; } alert(msg);
Je viens de tomber sur ce problème. Je ne trouve pas une solution élégante alors voici une inélégante:
Remarque: il ne fonctionnera que si le conteneur de démarrage dispose d'un identifiant p>
premier chèque si le navigateur est IE. Ensuite, P>
// var range should be your TextRange object var matches = range.htmlText.match(/<[^>]* id=([^\s]+)[^>]*>/); if (matches) { var startContainer = document.getElementById(matches[1]); if (startContainer) { ... } }
[Son été deux ans.]
Ok, ça va être laid, mais je pense avoir la réponse à cette question (semble fonctionner sur IE8). Le code est le suivant (explication est dans les commentaires): Désolé pour les commentaires excessifs (je pense que c'était nécessaire). Une fois que vous avez supprimé tous ces commentaires, vous obtenez du code qui est ... moins moche: p. P> p>
Wow, bonne idée! Tnx une fortune!