Nihtan: IE:TextRange.setEndPoint('SToS'):Nichts, obw. compareEndPoints=1

Beitrag lesen

hi,
ich versuche gerade in editierbaren Elementen, 1. die aktuelle Markierung im Internet Explorer (document.selection) - mit der man, glaub ich, auch die Zeigerposition (<blink>|</blink>) auslesen kann (halt längenlose Markierung) - auszulesen, 2. den Inhalt zu verändern und 3. danach den Zeiger wieder auf die vorige Position zu setzten.
Dafür habe ich TextRange.setEndPoint('StartToStart', alteRange) gewählt, da ich dachte, dies würde ganz einfach werden. Dem war aber nicht so:
Ich erhielt keine Fehlermeldung und trotzdem wurde der Zeiger, wie sonst auch im IE, nach 3. ans Ende des Inhalts zurückgesetzt. Deshalb wollte ich testen, ob die beiden Ranges nicht doch auf der gleichen stelle stehen: Doch compareEndPoints gibt eh 1 zurück, aber geändert wird wie schon gesagt trotzdem nichts.

Der ungefähre Aufbau:

  
    //1.  
    if(typeof window.getSelection != 'undefined')  
      [...]  
    else  
      if(typeof document.selection != 'undefined')  
        var Select = [...].selection.createRange().duplicate(); // Ist hier dublicate() übrigens überhaupt notwendig?  
  
    [2. Bearbeitung]  
  
    //3.  
    if(typeof window.getSelection != 'undefined')  
      [...]  
    else  
      if(typeof document.selection != 'undefined') {  
        alert([...].selection.createRange().compareEndPoints('StartToStart',Select)); // alert() returns 1  
        [...].selection.createRange().setEndPoint('StartToStart',Select);  
      }  

ThxBa Nihtan