нет возможности создать обратное выделение (то есть справа налево) из JavaScript?

Я пытаюсь создать выделение, которое идет справа налево в тексте, но, похоже, DOM Range API не не позволяйте мне это делать. (Я ничего не вижу по этому поводу в спецификации - не то чтобы я внимательно читал, но все реализации, похоже, соглашаются не поддерживать это.)

Например, учитывая очень минимальный документ :

data:text/html,<div> this is a test </div>

Я могу использовать этот сценарий, чтобы разрешить редактирование и создать обычное выделение (например, из букмарклета, но для ясности добавлен перенос строк):

javascript:document.designMode='on';
var r=document.createRange(),d=document.getElementsByTagName('div')[0]; 
r.setStart(d.firstChild, 3); 
r.setEnd(d.firstChild, 7); 
window.getSelection().addRange(r); void(0);

Однако, если я поменяю местами 3 и 7, выделение не создается.

Кто-нибудь знает, как это сделать?

5
задан hallvors 26 January 2011 в 04:42
поделиться