Kategorien
Webdesign

Javascript: Markierte Inhalte auskundschaften

Jeder wird dieses Problem schon einmal gehabt haben oder es noch bekommen: Wie bekomme ich heraus, was der Benutzer gerade markiert hat? Der MS Internet Explorer (ab Version 4.0) und der Netscape Navigator (ab Version 4.0) bieten zu dieser Frage interessante…

von Jan Winkler

Jeder wird dieses Problem schon einmal gehabt haben oder es noch bekommen: Wie bekomme ich heraus, was der Benutzer gerade markiert hat?

Der MS Internet Explorer (ab Version 4.0) und der Netscape Navigator (ab Version 4.0) bieten zu dieser Frage interessante Möglichkeiten.

MS Internet Explorer
Microsoft hat für dieses Problem ein eigenes Objekt namens document.selection geschaffen. Dieses enthält alle Eigenschaften der aktuellen Markierung. Um den gerade ausgewählten Text auszukundschaften, erstellt man ein TextRange [Zeile 1] und fragt von diesem die text-Eigenschaft ab [Zeile 2]. Alternativ ist es auch möglich, den verwendeten HTML-Code direkt über die htmlText-Eigenschaft [Zeile 3] heraus zu bekommen.

 a
= document.selection.createRange();
 b = a.text;
 c = a.htmlText; 

Netscape Navigator
Der Netscape Navigator bietet zur Lösung des Problems eine eigene Methode des document-Objekts, die getSelection-Methode, an. Sie ermittelt den aktuell markierten Text.

      a = document.getSelection(); 

Hinweise
Da die Browser nicht die Methoden des jeweils anderen Browsers unterstützen, sollte an eine Browser-Erkennung gedacht werden. Ausserdem ist zu bedenken, dass beispielsweise bei Klick auf einen Link dieser die Markierung erhalten kann (die Maus braucht nur ein Stückchen zu verrutschen …), deshalb empfiehlt sich die Abfrage der Markierung z.B. nur bei onMouseOver- oder derartigen Events. Live Beispiel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.