Laden...

Problem im Editor mit Chrome beim Einfügen von Hyperlinks

Erstellt von tscherno vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.965 Views
tscherno Themenstarter:in
630 Beiträge seit 2007
vor 15 Jahren
Problem im Editor mit Chrome beim Einfügen von Hyperlinks

Hallo,

wenn man mit Chrome in einem Beitrag ein Hyperlink auf ein Wort setzen will (Wort markieren -> Hyperlink einfügen), erscheint das markierte Wort im JavaScript-Prompt ("Gib einen Linknamen ein (optional)") nicht. Wenn man den Namen (sowie Adresse) von Hand reinschreibt und auf OK klickt wird der resultierende BB-Code an das Ende des Beitrags angehängt.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo tscherno,

tja, es ist die Frage, ob das ein Bug des Editors oder von Chrome ist. Ich würde erstmal auf letzeres tippen, denn Chrome ist ja meines Wissens noch Beta. Ich würde mich freuen, wenn du den Fehler zunächst bei Google melden würdest.

herbivore

3.825 Beiträge seit 2006
vor 15 Jahren

Ist bei Safari (Apple und Windows) auch so.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

tscherno Themenstarter:in
630 Beiträge seit 2007
vor 15 Jahren

Hallo,

Ist bei Safari (Apple und Windows) auch so.

Das wird wohl daran liegen das Chrome genauso wie Safari WebKit als Rendering-Engine verwendet.

Ich habe den Fehler etwas isoliert und ein kleines Testcase zusammengeschustert. Werde es morgen mal Google zukommen lassen.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

tscherno Themenstarter:in
630 Beiträge seit 2007
vor 15 Jahren

Hallo,

habe das jetzt mal in den Bugtracker von Google eingetragen.

Die schreiben folgendes:

The issue is that there is no textLength property for HTMLTextAreaElement, so the
condition 'message.textLength ≥ 0' in the function 'getSelectedText' is false, which
means that the default value to the prompt is never set to the selected text.

I'm not sure if the textLength property is something that should be supported, so
I'll leave this bug open.

Das sagt mir so gut wie garnichts weil ich ein JavaScript-Noob bin. ^^

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo tscherno,

vielen Dank für deine Mühe. Ich habe mir das jetzt mal genauer angeguckt. textLength ist in der Tat eine Erweiterung der Mozilla-Browser. Deshalb gibt es in der BBCode-Funktion mehrere Anschnitte für verschiedene Browser.

textLength wird nur im ersten Abschnitt für Mozilla-Browser benutzt. Das Fehlen dieser Eigenschaft ist also noch nicht die alleinige Ursache des Verhaltens von Chrome.

Es gibt auch einen Abschnitt für den IE. Auch dieser Code-Abschnitt benutzt Properties, die nicht im Standard enthalten sind. Deshalb vermute ich, dass der Code sich für Chrome nicht verwenden lässt. Aufgerufen wird er aber wohl ohnehin nicht, weil er ja eben nur für den IE gedacht ist.

Bleibt der letzte Abschnitt, der für alle übrigen Browser verwendet wird. Dieser arbeitet genau so wie du es beschrieben hast. Sprich: Works as designed.

Da der DCOM-Standard für das HTMLTextAreaElement sehr mager ist und man - soweit ich das sehe - weder Properties für die Länge, noch für den selektierten Text, noch für die aktuelle Cursor-Position hat, sehe ich erstmal keine Möglichkeit, mehr als die beschriebene Funktionalität anzubieten.

Eine Möglichkeit würde nur dann bestehen, wenn Chrome die genanten Properties - vielleicht unter anderem Namen oder auf andere Weise - doch zur Verfügung stellt. Darüber habe ich jedoch erstmal nichts gefunden.

Wenn jemand darüber etwas genaueres weiß, kann er es mir gerne schreiben. Vielen Dank!

Ich bin ja ein großer Fan von Webstandards. Hier bietet der Standard jedoch anscheinend zu wenig, um den gewohnten Komfort browserunabhängig zu realisieren. Deshalb steht browserunabhängig nur die beschriebene Minimalfunktionalität zur Verfügung.

Diese wohl wissend, kann man sich natürlich darauf einstellen, indem man den Linknamen gar nicht erst in die TextBox des Editors schreibt, sondern gleich auf den Button "Hyperlink einfügen" geht und zwar solange man mit dem Cursor sowieso noch am Ende des Textes steht.

herbivore