lucas
Guest
Получение выделения в Opera
[::оговорка::] Каюсь, в JavaScript я не силен.
В форуме цитирование текста сообщений и выделение текста жирным/курсивом реализовано при помощи следующей функции (где browser_* -- логические переменные, устанавливаемые для соотв. браузеров).
Она работает прекрасно в IE и Mozilla Firefox, но отказывается что либо делать в Opera (7.23 на Windows XP).
Опытным путем установлено, что Opera не знает document.selection (IE only?), но понимает window.document.getSelection (deprecated в Mozilla), например, при таком запросе в адресной строке -- javascript:alert(window.document.getSelection()). Однако, при клике по ссылке выделение снимается, и, следовательно, возвращается пустая строка.
Вопрос: каким образом можно получить содержание выделения в Opera после клика по ссылке и возможно ли это вообще?
Заранее спасибо за любые предложения.
[::оговорка::] Каюсь, в JavaScript я не силен.
В форуме цитирование текста сообщений и выделение текста жирным/курсивом реализовано при помощи следующей функции (где browser_* -- логические переменные, устанавливаемые для соотв. браузеров).
Код:
function get_selection()
{ if (browser_ie) { return(document.selection.createRange().text) ; }
if (browser_mozilla)
{ var element = document.new_post.text ;
if (element.selectionStart < element.selectionEnd)
{ return(element.value.substr(element.selectionStart,element.selectionEnd)) ; }
else { return(window.getSelection()) ; }
}
return('') ;
}
Опытным путем установлено, что Opera не знает document.selection (IE only?), но понимает window.document.getSelection (deprecated в Mozilla), например, при таком запросе в адресной строке -- javascript:alert(window.document.getSelection()). Однако, при клике по ссылке выделение снимается, и, следовательно, возвращается пустая строка.
Вопрос: каким образом можно получить содержание выделения в Opera после клика по ссылке и возможно ли это вообще?
Заранее спасибо за любые предложения.