HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd im Internet Explorer 8
Von: Manuel Näf (manuel.naef@gmail.com) [Profil]
Datum: 29.10.2009 16:14
Message-ID: <2025efd6-20f6-4f9a-b53d-624fbbb1613f@v30g2000yqm.googlegroups.com>
Newsgroup: de.comp.lang.javascript
Datum: 29.10.2009 16:14
Message-ID: <2025efd6-20f6-4f9a-b53d-624fbbb1613f@v30g2000yqm.googlegroups.com>
Newsgroup: de.comp.lang.javascript
Hallo NG
Im Internet Explorer 8 kriege ich mit meinem kleinen HTML/Javascript -
Editor einen Fehler, den ich mit früheren Internet Explorer Versionen
nicht hatte.
Nachfolgend habe ich ein Beispiel gemacht und den Code beigefügt.
Wenn ich einen Text im Editorbereich markiere und anschliessend den
Fokus ausserhalb des Editors lege (klick ausserhalb des Editors), dann
kann ich die Markierung wieder herstellen mit dem Link "Cursor /
Markierung zurückmarkieren".
Leider geht das nur mit einer "Markierung", aber nicht mit einem
simplem "Platzieren des Cursors".
Wenn ich lediglich den Cursor in den Text platziere, dann den Fokus
ausserhalb des Editorbereichs setze und auf den Link "Cursor /
Markierung zurückmarkieren" klicke, so erhalte ich eine Fehlermeldung
wegen der Zeile "bereich.setEndPoint("EndToEnd", kopie_bereich);".
Beim Internet Explorer 7 ging das noch.
Kennt jemand dieses Problem? Hat jemand eine Lösung dafür?
Herzlichen Dank für Hilfe
Manuel
Hier der Code:
----------------------------------
<head>
<title>Editortest</title>
</head>
<body onLoad="editor_start();">
<script language="Javascript" type="text/JavaScript">
<!--
// Editor starten
function editor_start(){
inhalt.document.write('Dies ist ein Text.<br>Neue Zeile, neuer
Text.');
inhalt.document.designMode="On";
}
// Cursor auslesen
function cursor_auslesen(){
bereich = inhalt.document.selection.createRange();
kopie_bereich = bereich.duplicate();
}
// Cursor/Markierung setzen
function cursor_setzen(){
bereich = inhalt.document.body.createTextRange();
bereich.setEndPoint("StartToStart", kopie_bereich);
bereich.setEndPoint("EndToEnd", kopie_bereich);
bereich.select();
}
//-->
</script>
<iframe frameborder="0" name="inhalt" id="inhalt"
src="about:blank"
style="width:600px; height:200px; border:2px solid #000000"
onfocusout="cursor_auslesen()"></iframe>
<p><a href="javascript:cursor_setzen();">Cursor / Markierung
zurückmarkieren</a></p>
</body>
</html>
[ Auf dieses Posting antworten ]Antworten
- Martin Honnen (29.10.2009 16:47)
- Manuel_Näf (29.10.2009 17:14)
- Manuel_Näf (29.10.2009 17:15)
- Holger Jeromin (29.10.2009 17:19)
- Chris Seidel (29.10.2009 18:05)
- Thomas 'PointedEars' Lahn (29.10.2009 18:30)
- Manuel_Näf (29.10.2009 18:37)
- Manuel_Näf (29.10.2009 18:27)
- Holger Jeromin (30.10.2009 08:56)
- Martin Honnen (29.10.2009 17:30)
- Manuel_Näf (29.10.2009 18:25)
