Tim Sullivan
그는 물었다 12년 전
12

선택한 텍스트를 얻을 수 있는 플랫폼 있지만브라우저에

39 한 가지가 I& 내 브라우저 기반 응용 프로그램은 사용자가 선택할 수 있도록 해야 할 일이; d 와 같은 일부 텍스트 (포함되지 않으며, gt, 그냥 일반 ol& textarea&amp &amp, lt, # 39. 텍스트!), 내 애플리케이션 튀어 상호 작용할 수 있고, 그런 작은 도구막대 다음 (내 경우, 추가 주석입니다).

39 i& 많은 물건을 찾을 것으로 보이는데, ve 초점을 맞춘 것이 아니라, WYSIWYG 편집기 먹어서나 구글, , t # 39 isn& 내가 원하는 것이 무엇인지, 그리고 IE 에서 협력했습니다 FF2 있지만 대다수 정보기술 (it) 또는 3. 가장 이상적인 I& # 39; d like some 함수은 현재 선택한 텍스트를 반품해야 수 있는 브라우저 창에서 작동하는 IE7 (및 6 가능한 경우), 파이어폭스 2 &amp. 3 과 사파리 2. # 39 의 보너스 수 있지만, 오페라, that& 작동하잖아 경우, d, s # 39 it& 요구 사항이 아닙니다.

이 작업을 수행하는 기능을 가지고 있는 사람은? 호스트였든 생각은 어디서부터 시작해야?

답변 6 개

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

Markus Safar
jcubic
그는 6년 전 댓글을 달았습니다
1

You need to call 'toString ()'. '리턴' 제셀렉션 선택물 객체에는. 테스트를 통해 들어간다.

Benno
그는 3년 전 댓글을 달았습니다
0

39 이 doesn& 것으로, t, 모서리까지 작업하십시오 투입물 Firefox 에서 14 또는 IE11.

YakovL
그는 2년 전 댓글을 달았습니다
0

요즘 사용하는 것처럼 보인다 '는' 빈다우스게체렉션 충분한 (크롬, FF, IE 에서 테스트되었습니다 11khz, Edge). 카니우스 [에] (https://caniuse.com/ # 검색 = 빈다우스게체렉션) 동일합니다. 이를 지원할 수 없는 유일한 오페라 미니 보고되는지 doesn& # 39 과 iOS 사파리 (오래된 수 있습니다), t 지원 몇 가지 전혀 관련 묻는 질문

Have a look at jQuery라이프셀렉션 플러그인에는. 무엇을 찾고 있을 수 있습니다.

[소개 입니다] (http://www.quirksmode.org/dom/range_intro.html) 의 일부 다른 브라우저에서 텍스트 선택물 열거하십시오 방법에 대한 자세한 정보를 액세스할 수 있습니다.

제 경험에 따르면 이러한 직접 가지 api 를 사용하는 것은 매우 어색한 만일 [라이프셀렉션] (http://plugins.jquery.com/project/wrapSelection) 는 당신꺼에요 I& 검색하기를; d # 39 있는.

요즘 이 방법을 [제공하십시오 충분한] [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...