Firefoxが範囲を選択するように指定したいと思います。range.select();を使用して、IEでこれを簡単に行うことができます。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の範囲とffxのdomIDによってそうします。しかし、それを行った後、選択範囲を元の選択範囲に戻したいと思います。
これはIEの魅力のように機能します。
setTimeout(function(){
origRange.select();
},1000);
私はFFXでこのようなことをしたいと思います:
var s = w.getSelection();
setTimeout(function(){
s.removeAllRanges();
s.addRange(origRange);
},1000);
残念ながら、FFXは協力的ではなく、これは機能しません。何か案は?