Есть несколько способов получить выделенный текст, и разные браузеры реализуют разные:
Во-первых, есть document.getSelection()
, который возвращает выделенный текст в виде строки. Затем есть window.getSelection()
, который вернет объект выбора. Чтобы получить необработанный текст, используйте его метод toString()
. В IE для получения текста используются диапазоны, т.е. document.selection.createRange().text
.
Я бы предложил использовать функцию-обертку, чтобы сделать document.getSelection()
доступным для всех браузеров, которые поддерживают любой из методов, упомянутых выше:
if(typeof document.getSelection === 'undefined') {
document.getSelection =
window.getSelection ? function() {
return window.getSelection().toString();
} :
document.selection ? function() {
return document.selection.createRange().text;
} :
null;
}
Примечание: вы должны установить location.href
(а не location
), чтобы изменить адрес документа.