[Forum "bug"?] Schnellantwort mit Firefox 1.5

German support forum

Moderators: Hacker, Stefan2, white

User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

[Forum "bug"?] Schnellantwort mit Firefox 1.5

Post by *StickyNomad »

In Firefox 1.0.x hatte ich damit nie Probleme, aber mit FF 1.5 erhalte ich nach dem Markieren von Text und Klick auf 'zitat' die Meldung "kein Text markiert". Das Übernehmen des Usernamens per Klick funktioniert aber noch. Kann das jemand nachvollziehen? Ist keine grosse Sache, aber es macht die Schnellantwort halt weniger schnell...
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

wollte ich auch schon melden, Ich war mir aber nicht sicher. Bestätigt!
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Mit Opera klappt's, auch wenn ich mich als Mozilla ausgebe. Mit K-Meleon, der die Gecko-Engine nutzt, klappt's ebenfalls, liegt dann wohl definitiv am Browser, nicht an der Forumssoftware.

Hm, vielleicht verschluckt er sich an der einleitenden Klammer?

Code: Select all

<!--
		function pasteQ() {
			if (document.getSelection) txt = document.getSelection();
			else if (document.selection) txt = document.selection.createRange().text;
			else return;
			if (txt=='')
				alert('Kein Text markiert!');
			else
				document.post.message.value = document.post.message.value + '[quote]' + txt + '[/quote]\n';
		}
	//-->
Icfu
This account is for sale
User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

Post by *StickyNomad »

2icfu
iegt dann wohl definitiv am Browser, nicht an der Forumssoftware
Hm, mit älteren Operas hatte ich da oft Probleme, aber Opera 8.5 tuts in der Tat einwandfrei.

dies hat FF's JS-Konsole ausgegeben:

Code: Select all

Deprecated method document.getSelection() called.  Please use window.getSelection() instead.
Seltsam, das. Folgendes Beispiel aus SelfHTML klappt in FF 1.5 dank zusätzlicher Abfrage einwandfrei:

Code: Select all

function selektierterText () {
  if (window.getSelection) {
    alert(window.getSelection());
  } else if (document.getSelection) {
    alert(document.getSelection());
  } else if (document.selection) {
    alert(document.selection.createRange().text);
  }
}
also dürfte das entweder ein FF Bug sein, oder hat mit dessen Implementierung von JavaScript 1.6 zu tun, evtl wurde hier die Unterstützung für document.get... fallen gelassen. Ich hab leider noch keine detaillierte Übersicht über die Änderungen in JS 1.6 gefunden...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ist wohl ein Bug von FF 1.5 - offenbar wird beim Klick auf "Zitat" zuerst die Markierung gelöscht und anschliessend das Javascript aufgerufen statt umgekehrt - es gibt dann keine Möglichkeit mehr, an den markierten Text zu kommen...

Ich werde vorläufig bei Firefox 1.07 bleiben.
Author of Total Commander
https://www.ghisler.com
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2ghisler(Author)
und es funzt ganz sicher nicht mit window.getSelection?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

und es funzt ganz sicher nicht mit window.getSelection?
Nein, tut es nicht, weil zum Zeitpunkt des Klicks leider nichts mehr markiert ist!

Ich habe jetzt doch noch eine Lösung gefunden. :)

Ich kopiere den markierten Text einfach in OnMouseOver, und füge ihn dann ein, wenn man auf den Link klickt. Hier der veränderte Code für alle, die das in eigene Foren einbauen wollen:

Code: Select all

<script language='JavaScript' type='text/javascript'>
	<!--
		var quickreply_paste_text = '';
		function copyQ() {
			txt='';
			if (document.getSelection) txt = document.getSelection();
			else if (document.selection) txt = document.selection.createRange().text;
			if (txt!='')
				quickreply_paste_text=txt;
		}

		function pasteQ() {
			txt='';
			if (document.getSelection) txt = document.getSelection();
			else if (document.selection) txt = document.selection.createRange().text;
			if (txt=='')
				txt=quickreply_paste_text;
			if (txt=='')
				alert('".$lang["No_Text_Selected"]."');
			else
				document.post.message.value = document.post.message.value + '[quote]' + txt + '[/quote]\\n';
		}
	//-->
	</script> 
	<form action='".append_sid("posting.$phpEx")."' method='post' name='post'>
	<span class='genmed'><b>".$lang["Quick_Reply"].":</b>
	<a href=\"javascript:pasteQ()\" onMouseOver=\"copyQ()\">".$lang["Quote"]."</a> 
	<br />";
Das Kopieren wird durch onMouseOver=\"copyQ()\" erzeugt, das Einfügen durch javascript:pasteQ()! Wichtig: quickreply_paste_text=txt; darf nur zugewiesen werden, wenn txt nicht leer ist, sonst haben wir wieder genau dasselbe Problem.
Author of Total Commander
https://www.ghisler.com
User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

Post by *StickyNomad »

2ghisler(Author)
Ich habe jetzt doch noch eine Lösung gefunden.
:D
(window.getSelection) tut es nicht, weil zum Zeitpunkt des Klicks leider nichts mehr markiert ist!
Hm, seltsam. Wenn ich mich nicht verlesen habe, wird laut aktuellem Gecko DOM nur noch 'window.getSelection' unterstützt, 'document.getSelection' jedoch nicht mehr. Scheint demnach wirklich ein FF Bug zu sein.
Duke
Junior Member
Junior Member
Posts: 56
Joined: 2003-11-19, 18:57 UTC

Post by *Duke »

StickyNomad wrote: Hm, seltsam. Wenn ich mich nicht verlesen habe, wird laut aktuellem Gecko DOM nur noch 'window.getSelection' unterstützt, 'document.getSelection' jedoch nicht mehr. Scheint demnach wirklich ein FF Bug zu sein.
Hast Du den Bug von Firefox schon bei Bugzilla gemeldet?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das wird wohl nichts bringen, weil das offenbar ein neues "Feature" das Firefox ist: Bei den 1.0x-Versionen bekamen Buttons und Bilder bei einem Klick darauf nicht den Fokus, beu 1.5 scheint das aber der Fall zu sein. Dadurch geht die Markierung verloren, bevor das Skript gestartet wird.
Author of Total Commander
https://www.ghisler.com
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

Themawechsel: Wenn ich FF 1.5 minimiere wird überhaupt kein Speicher freigegeben. Bug or feature? Übersehe ich hier was? Jedenfalls ist das der Grund, warum ich wieder FF 1.0.7 installiert habe...

tbeu
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Soll angeblich über About:config einstellbar sein, kann es aber gerade nicht finden. Mir passt die neue Einstellung, weil der FF früher ewig gebraucht hat zum Wiederherstellen. Der neue ist immer sofort da, weil er eben seinen Speicher nicht frei gibt.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Genau das meinte ich, danke! :)
Author of Total Commander
https://www.ghisler.com
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Ich teste hier die aktuelle Betaversion von Safari für Windows und kann leider die Schnellantwort-Funktion nicht nutzen. Ichh habe das Problem schon gemeldet, aber vielleicht gibt es ja auch einen Workaround? Ich erhalte immer die Meldung, dass kein Text markiert ist.
Post Reply