2013-12-18 3 views
0

Я хочу получить весь текст из выделенного текста до конца страницы, что означает только текст, который мы видим на странице. Но когда я пытаюсь это, также получить текст в теге «сценарий», «NoScript» ... и другие теги, которые не отображаются на странице:Как получить текст из выделенного текста до конца страницы

function getTextFromCursor(){ 
    count=0; 
    var allText =""; 
    if(window.getSelection){ 
     var selection = window.getSelection(); 
     var selRange = selection.getRangeAt(0); 
     var range = document.createRange();  
     range.setStart(selRange.startContainer, selRange.startOffset); 
     var theBody = document.getElementsByTagName('body')[0]; 
     var lastEl = theBody.lastElementChild; 
     range.setEndAfter(lastEl);  
     allText = range.toString(); 
    } 
    return allText; 
} 

Как я мог получить только текст, который отображаться на странице?

ответ

0

The TextRange module моих стройных библиотек могут помочь. Это позволяет работать с текстом, поскольку пользователь видит его на странице более или менее. С его помощью, ваш пример может быть достигнут с

0

Добавить range в selection и использовать вместо этого selection.toString().

selection.addRange(range); 
allText = selection.toString(); 
+0

Это даст противоречивые результаты между браузерами: некоторые даст тот же результат, как вызов 'ToString()' на диапазоне, другие вернуть что-то вроде текста, который вы видите на страница. –

Смежные вопросы