HighDots Forums  

HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Manuel Näf
 
Posts: n/a

Default HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 11:14 AM






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>

Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 11:47 AM






Manuel Näf wrote:

Quote:
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);".
Welche Fehlermeldung genau?

--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/

Reply With Quote
  #3  
Old   
Manuel Näf
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 12:14 PM



Quote:
Welche Fehlermeldung genau?
Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR
1.1.4322)
Zeitstempel: Thu, 29 Oct 2009 16:13:17 UTC
Meldung: 'kopie_bereich' is undefined
Zeile: 23
Zeichen: 2
Code: 0
URI: http://www.digisol.ch/test2/test2.asp

Reply With Quote
  #4  
Old   
Manuel Näf
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 12:15 PM



Quote:
Welche Fehlermeldung genau?
Sorry, diese:

Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR
1.1.4322)
Zeitstempel: Thu, 29 Oct 2009 16:14:57 UTC

Meldung: Ungültiges Argument.
Zeile: 24
Zeichen: 2
Code: 0
URI: http://www.digisol.ch/test2/test4.asp

Reply With Quote
  #5  
Old   
Holger Jeromin
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 12:19 PM



Manuel Näf schrieb am 29.10.2009 17:15:
Quote:
Welche Fehlermeldung genau?
Sorry, diese:

Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR
1.1.4322)
Zeitstempel: Thu, 29 Oct 2009 16:14:57 UTC

Meldung: Ungültiges Argument.
Zeile: 24
Zeichen: 2
Code: 0
URI: http://www.digisol.ch/test2/test4.asp
Ein Debugger wie Firebug hätte dir zusätzlich noch gesagt, dass
inhalt.document.body keine Funktion namens createTextRange()
hat. kopie_bereich ist hier gerade auch undefined.

--
Mit freundlichen Grüßen
Holger Jeromin

Reply With Quote
  #6  
Old   
Martin Honnen
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 12:30 PM



Manuel Näf wrote:

Quote:
Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR
1.1.4322)
Zeitstempel: Thu, 29 Oct 2009 16:14:57 UTC

Meldung: Ungültiges Argument.
Zeile: 24
Zeichen: 2
Code: 0
URI: http://www.digisol.ch/test2/test4.asp
Ich habe http://www.digisol.ch/test2/test4.asp mit IE 8 unter Windows XP
Professional getestet, das Selektieren von Text im Iframe, das
anschliessende Klicken ausserhalb des Iframe und dann das Reselektieren
des Textes im Iframe per Link klappt bei mir ohne irgendwelche Scriptfehler.


--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/

Reply With Quote
  #7  
Old   
Chris Seidel
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 01:05 PM



On Thu, 29 Oct 2009 17:19:34 +0100, Holger Jeromin <news01_2009 (AT) katur (DOT) de>
wrote:

Quote:
Ein Debugger wie Firebug hätte dir zusätzlich noch gesagt, dass
inhalt.document.body keine Funktion namens createTextRange()
hat.
FireBug für IE8?

Reply With Quote
  #8  
Old   
Manuel Näf
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 01:25 PM



Quote:
Ich habehttp://www.digisol.ch/test2/test4.aspmit IE 8 unter Windows XP
Professional getestet, das Selektieren von Text im Iframe, das
anschliessende Klicken ausserhalb des Iframe und dann das Reselektieren
des Textes im Iframe per Link klappt bei mir ohne irgendwelche Scriptfehler.

Danke :-) Aber das Setzen des Cursors, also ohne Markierung, ist das
Problem.
Ich möchte dass das Script auch dann funktioniert, wenn ich nur den
Cursor setzen will.
Ich benötige dies, um später an einer Cursorposition Elemente einfügen
zu können.

Reply With Quote
  #9  
Old   
Manuel Näf
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd imInternet Explorer 8 - 10-29-2009 , 01:27 PM



Quote:
Ein Debugger wie Firebug hätte dir zusätzlich noch gesagt, dass
inhalt.document.body keine Funktion namens createTextRange()
hat. kopie_bereich ist hier gerade auch undefined.
Danke Holger :-)
Ich muss das Script auf dem IE 8 zum Laufen bringen. Erst danach
schreibe ich den Code für Firefox und Safari.

Reply With Quote
  #10  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: HTML/Javascript-Editor / Problem mit setEndPoint, EndToEnd im Internet Explorer 8 - 10-29-2009 , 01:30 PM



Chris Seidel wrote:

Quote:
Holger Jeromin wrote:
Ein Debugger wie Firebug hätte dir zusätzlich noch gesagt, dass
inhalt.document.body keine Funktion namens createTextRange()
hat.

FireBug für IE8?
ACK. Fairerweise jedoch: "*wie* Firebug" und

- <http://getfirebug.com/lite.html>
- <http://en.wikipedia.org/wiki/Microsoft_Script_Debugger>
- IE8: <F12>


PointedEars

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.