최종 사용자가 HTML 문서의 텍스트 섹션을 선택하고 주석을 달 수있는 웹 기반 주석 도구를 구축하고 있습니다. 프로그래밍 방식으로 말하기, 선택한 텍스트 및 해당 범위에 액세스하고 작업하는 것은 "window.getSelection"및 "getRangeAt"를 사용하여 간단합니다.여러 텍스트 선택 브라우저를 지원하는 방법은 무엇입니까?
그러나이 모든 것을 크로스 브라우저 응용 프로그램에 넣으려고하면 문제가 발생합니다. Firefox에서 모든 기능을 찾을 수 있지만 Safari에서 HTML 버튼 (예 : '주석'버튼)을 클릭하면 버튼을 클릭하면 텍스트 캐럿의 위치가 변경되는 것처럼 현재 사용자 텍스트가 사라집니다. window.getSelection에 액세스하려고 시도하는 내 코드는이 버튼의 스크립트에서 실행되고 선택 항목이 없다고보고합니다.
텍스트를 선택하고 "굵게"또는 "글꼴 변경"을 클릭하는 동작과 메커니즘이 내 주석 기능에 해당하므로 Google 워드 프로세서, 특히 워드 프로세싱 응용 프로그램에서 어떻게 처리되는지 살펴 보았습니다. Google 문서 도구에서는 수정 될 문서의 텍스트를 iframe에로드합니다. 이 문제를 해결하기 위해 파이어 폭스는 여러 개의 프레임 또는 iframe이 포함 된 웹 페이지에서 다중 선택 범위를 지원합니다. 즉, 기본 페이지에서 텍스트 섹션을 선택하고 iframe에서 텍스트의 개별 섹션을 선택하여 첫 번째 선택 항목을 사라지게 할 수 있습니다. 이 Google 문서 도구 솔루션은 Firefox와 Safari (내가 관심있는 두 브라우저)에서 작동합니다. 그러나이 솔루션을 테스트 할 간단한 예제 페이지를 만들면 Safari에서 작동하지 않습니다. 버튼을 클릭하거나 루트 페이지 (iframe 외부)에서 텍스트를 선택하면 현재 선택된 iframe이 사라집니다.
누구나 내가이 문제를 해결하기 위해 여기에없는 것을 알고 있습니까? 또는이 방법을 사용하기 위해 다른 방법을 제안하십시오.
당신이 연결할 수있는 어딘가에 있나요? – Jack