Wie kann ich den Text des DOM-Bereichsobjekts hervorheben?

Ich wähle Text auf der HTML-Seite (in Firefox geöffnet) mit der Maus aus und verwende Javascript-Funktionen. Ich erstelle / erhalte das Bereichsobjekt, das dem ausgewählten Text entspricht.

 userSelection =window.getSelection(); 
 var rangeObject = getRangeObject(userSelection);

etzt möchte ich den gesamten Text hervorheben, der unter das Bereichsobjekt fällt. Ich mache es so,

  var span = document.createElement("span");
  rangeObject.surroundContents(span);
  span.style.backgroundColor = "yellow";

Nun, das funktioniert einwandfrei, nur wenn das Entfernungsobjekt (Startpunkt und Endpunkt) im selben Textknoten liegt, wird der entsprechende Text hervorgehoben.Ex

    <p>In this case,the text selected will be highlighted properly,
       because the selected text lies under a single textnode</p>

Aber wenn das Bereichsobjekt mehr als einen Textknoten abdeckt, funktioniert es nicht richtig. Es werden nur die Texte hervorgehoben, die im ersten Textknoten, Ex @, liege

 <p><h3>In this case</h3>, only the text inside the header(h3) 
  will be highlighted, not any text outside the header</p> 

Eine Idee wie kann ich machen, dass alle Texte, die unter rangeobject fallen, hervorgehoben werden, unabhängig davon, ob range in einem einzelnen Knoten oder in mehreren Knoten liegt? Vielen Dank...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage