Как получить выделенный текст из iframe, используя rangy?
Это дополнительный вопрос. Я пытался получить выделенный текст из iframe, используя rangy. Кажется, что код работает для контента без iframe. Согласно документу Ранги, это должно работать.
Вот демо: http://jsfiddle.net/codef0rmer/UuJ5G/
1 ответ
Проблема в вашем примере заключается в том, что документ iframe исходит из домена, отличного от основного документа, что означает, что скрипт, работающий в основном документе, просто не может получить доступ к документу внутри iframe. Браузер позволяет создавать сценарии только между документами, если они принадлежат одному домену.
Если документы приходят с одного и того же домена, вы можете получить выбор, используя rangy.getIframeSelection()
:
Rangy 1.3 ослабляет ограничения на параметры, передаваемые rangy.getSelection()
а также rangy.createRange()
: оба примут любой из окна, документа или <iframe>
элемент, так что вы можете просто передать iframe в rangy.getSelection()
: