브라우저 기반 애플리케이션에서 하고 싶은 일 중 하나는 사용자가 일부 텍스트(텍스트 영역이 아닌 일반 텍스트!)를 선택할 수 있도록 하고, 애플리케이션에 작은 툴바를 띄워 다음 항목(제 경우에는 주석 추가)과 상호 작용할 수 있게 하는 것입니다.
구글에서 WYSIWYG 편집기 작성에 초점을 맞춘 많은 것들을 발견했지만 그러나 제가 원하는 것은 아닙니다, 그리고 대부분은 IE에서는 작동하지만 FF2 또는 3에서는 작동하지 않았습니다. 이상적으로는 브라우저 창에서 현재 선택된 텍스트를 반환할 수 있는 함수가 IE7(가능하면 6), FireFox 2 및 3, Safari 2에서 작동했으면 좋겠습니다. Opera에서도 작동하면 좋겠지만 필수는 아닙니다.
이 기능을 하는 함수가 있나요? 아니면 어디서부터 시작해야 할지 아시는 분?
Jquery 는 해당 플러그인은 준활성 하지만 매우 특정한 작업: 텍스트 강조표시한 수신기마다 태그이고, 랩 그냥 그리웠댔지 될 수 있습니다. # 39, 신앙이니라 너회가 don& 싶지 않다 (있거나 사용할 수 있는 상황에서 can& # 39, t) 외부 수정표시 페이지에 추가할 수 있습니다 다음 시도하시겠습니까 솔루션 대신:
function getSelectedText() {
var txt = '';
if (window.getSelection) {
txt = window.getSelection();
}
else if (document.getSelection) {
txt = document.getSelection();
}
else if (document.selection) {
txt = document.selection.createRange().text;
}
else return;
return txt;
}
이 함수는 나타내는 개체를 텍스트 선택물. 작동하잖아 다양한 브라우저에서 (하지만, 제가 용의자요 객체에는 it 되돌려줍니다 약간 다른 브라우저에 따라 유일한 아닌 실제 텍스트를 위한 결과를 신뢰할 수 있는 모든 추가 등록).
참고: 당초 코드 부분을 내가 여기 있는 것을 발견했다. http://www.codetoad.com/javascript_get_selected_text.asp
범위 소개에 다양한 브라우저에서 텍스트 선택에 액세스하는 방법에 대한 자세한 내용이 나와 있습니다.
제 경험에 따르면 이러한 다양한 API로 직접 작업하는 것은 매우 서투르기 때문에 wrapSelection이 적합하다면 이 방법을 사용하는 것이 좋습니다.
요즘 이 방법을 [제공하십시오 충분한] [1]:
function getSelectedText() {
return window.getSelection ? window.getSelection().toString() : '';
}
It & # 39, & # 39 의 반환되므로 ',' 의 경우 이전 브라우저와 오페라 미니 정말 드문 경우에 수 있습니다 (테스트할 수 있지만, 이 오래된) + 지켜보리니 참고 UC 브라우저를 안드로이드.
[1]: https://caniuse.com/ # 검색 = 빈다우스게체렉션
Ie, Firefox, Safari, 희망을 작동합니다 - # 39 이 코드를 it& 도움을 줄 것이다.
var str = (window.getSelection) ? window.getSelection() : document.selection.createRange();
str = str.text || str;
str = str + ''; // the best way to make object a string...