Я хотел бы указать, что Firefox выбирает диапазон. Я могу сделать это легко с IE, используя range.select () ;. Похоже, что FFX ожидает элемент dom. Я ошибаюсь, или есть лучший способ сделать это?
Я начинаю с выделения текста, преобразования его в диапазон (я думаю?) И сохранения выделения текста. Вот откуда я получаю диапазон:
// Before modifying selection, save it
var userSelection,selectedText = '';
if(window.getSelection){
userSelection=window.getSelection();
}
else if(document.selection){
userSelection=document.selection.createRange();
}
selectedText=userSelection;
if(userSelection.text){
selectedText=userSelection.text;
}
if(/msie|MSIE/.test(navigator.userAgent) == false){
selectedText=selectedText.toString();
}
origRange = userSelection;
Позже я изменю выбор (успешно). Я делаю это по диапазону в IE и по dom ID в ffx. Но после того, как я это сделаю, я хочу вернуть выбор к исходному.
Это работает как брелок в IE:
setTimeout(function(){
origRange.select();
},1000);
Я бы хотел сделать что-то подобное в FFX:
var s = w.getSelection();
setTimeout(function(){
s.removeAllRanges();
s.addRange(origRange);
},1000);
К сожалению, FFX не сотрудничал, и это не работает. Есть идеи?