Salut Je veux obtenir l'index de début et de fin de la sélection par rapport au nœud parent du texte sélectionné. Je suis capable de le faire dans IE. Cependant, dans d'autres navigateurs comme Firefox, Opera, Safari et Chrome, je peux accéder à la sélection et à l'index du texte sélectionné. Mais mon exigence est d'obtenir l'index w.r.t le nœud parent et non le nœud sélectionné. Je suis dans le besoin d'une solution qui prend en charge tous les navigateurs - Firefox, Opera, Safari et ChromeJavascript + Comment obtenir l'index w.r.t le nœud parent de la sélection + Navigateurs autres que IE
if (window.getSelection) {
alert("Other browser");
sel = window.getSelection();
if(sel != '') {
//alert(sel.anchorNode.parentNode.nodeName);
//alert(sel.anchorOffset);
//alert(sel.focusNode.parentNode.nodeName);
//alert(sel.focusOffset);
}
}
else if (document.selection) {
txt = document.selection.createRange().text;
var range_all = document.body.createTextRange();
if (txt!='')
{
// Finding start position
range = document.selection.createRange();
range.collapse(true);
var startParentElement = range.parentElement();
range_all.moveToElementText(startParentElement);
for (var sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start ++)
range_all.moveStart('character', 1);
range = document.selection.createRange();
range.collapse(false);
range_all = document.body.createTextRange();
var endParentElement = range.parentElement();
range_all.moveToElementText(endParentElement);
for (var sel_end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; sel_end ++)
range_all.moveStart('character', 1);
alert("sel_start:" + sel_start);
alert("sel_end:" + sel_end);
}}
Je suis dans le besoin de deux objets de gamme - un pour la sélection et l'autre pour le document entier. Le code expliqué dans le site quirksmode aide à créer une plage pour la sélection uniquement. Pour l'ensemble du document, j'ai essayé d'utiliser window.document.createRange ou simplement document.createRange. Cependant, je récupère une valeur vide. – Radhika