найти выделенный текст начала и конца индекса с помощью JavaScript - PullRequest
1 голос
/ 27 декабря 2011

У меня есть одна XHTML-страница ePub Book со многими тегами p (абзаца).

Теперь я получаю выделенный текстовый индекс относительно тега body с помощью функции ниже в JS:

var fullString = document.getElementsByTagName("body")[0].textContent;

if (window.getSelection) 
{              

    var range = window.getSelection (); 

    var startPosition = fullString.search(range);

    var getPosition = range.toString();

    var endPosition = parseInt(getPosition.length) + parseInt(startPosition);

    alert("Start position if : " + startPosition + " and End position : " + endPosition);

    start_position = startPosition;

    end_position = endPosition;

}

Он возвращает мне правильный индекс, в то время как выборка выполняется только в одном теге P.

Но так как выборка охватывает более одного тега p, я получаю начальную позицию как "-1".

Не могли бы вы помочь мне выбраться из этого.

1 Ответ

0 голосов
/ 28 декабря 2011

Пожалуйста, попробуйте строку ниже, чтобы она заработала.

var range = window.getSelection (). GetRangeAt (0);

Надеюсь, это решит вашу проблему.

...