Warum gibt es keine WYSIWYG-Rich-Text-Editoren in Flash / Silverlight / Was auch immer? [geschlossen]

8

Oder gibt es?

Aus der Sicht eines Desktop-Softwareentwicklers (im Gegensatz vielleicht zu einem Webentwickler) sehen Rich-Web-Anwendungsplattformen wie Flash oder Silverlight besser aus, um WYSIWYG-Texteditoren für das Web zu erstellen. Sie sind in der Lage, anspruchsvollere Eingabe / Ausgabe, Datendarstellung usw., und sie sind konsistent über die Browser und Plattformen (na ja, vielleicht nicht Silverlight und Moonlight noch, aber zumindest scheint Flash).

Dennoch bevorzugen die Entwickler Javascript / DOM / HTML / CSS mit all ihren Inkompatibilitäten, Unterschieden, mühsamer Arbeit, um jede besondere Eigenart zu umgehen und zahlreiche Hacks zu benutzen, um diese Technologien zu machen, was sie waren, vielleicht nie ursprünglich soll tun können.

Es gibt einige allgemein akzeptierte Argumente, warum Sie Flash nicht für eine Website verwenden sollten, sowie eine allgemein akzeptierte Ausnahme: die eingebetteten Video-Player. Wie unterscheidet sich ein Rich-Text-Editor? "Eine Flash-Steuerung lebt in ihrer isolierten Sandbox" - also, universal, tut ein WYSIWYG-Editor; "Der Text eines Flash-Controls kann von den Suchmaschinen nicht indexiert werden" - wer interessiert sich schon dafür, den sich ständig ändernden ungesicherten Inhalt eines Editors zu indizieren; "Nicht alle Benutzer haben Flash installiert" - so dass möglicherweise nicht alle von ihnen Javascript aktiviert haben.

Hier also die Frage: Was sind die Vorteile von Javascript über Flash für die Implementierung eines WYSIWYG-Editors? Was wären die Nachteile einer anderen Wahl?

    
Headcrab 15.04.2009, 05:52
quelle

9 Antworten

3

Die wichtigsten Vorteile eines JavaScript-implementierten RTE-Editors gegenüber Flash sind:

  • Sie brauchen keinen Flash-Player, um
  • zu verwenden
  • Bei den meisten Menschen ist JavaScript nicht deaktiviert
  • Sie sind im Allgemeinen reicher und haben bessere Fähigkeit
  • Zusätzliche Funktionen wie eingebettete Tabellen, Bilder und Videos können angeboten werden
  • Sie produzieren HTML-Ausgabe bereit für Verwendung als Web-Inhalt

Möchten Sie diesen Editor selbst erstellen? weil Generell sind die Möglichkeiten, die heute für WYSIWYG-Redakteure in Javascript zur Verfügung stehen, verdammt gut. Überprüfen Sie zum Beispiel: fckeditor und tinymce . Sie sind alle ziemlich beeindruckend und verbessern sich mit jeder Veröffentlichung und können in einer Vielzahl von Szenarien angewendet werden.

In den meisten modernen Browsern gibt es recht gute Unterstützung für Designmodes / contenteditable divs und iframes zum Erstellen dieser Dinge. Flex 3 kommt mit einem einfachen RichTextEditor , der den Job erledigt, aber isn 't so toll.

    
Scott Evernden 15.04.2009 06:17
quelle
3

Der Hauptgrund (glaube ich) ist, dass es eine gute Grundlage gibt, Rich-HTML-Bearbeitung in den Browsern mit JavaScript (designMode) vorzunehmen. Dies wurde von Microsoft in IE 5.5 gestartet (soweit ich mich erinnere) und dann von Mozilla / Firefox, dann Opera und dann Safari abgeholt. Der Browser würde sich darum kümmern, den HTML-DOM-Baum zu halten, so dass Sie ihn navigieren und ändern können. Sie können einen einfachen (und völlig zurückgebliebenen, aber immer noch) HTML-WYSIWYG im Browser mit fast keinem JavaScript-Code erstellen. Und dann können Sie Funktionen darauf aufbauen (was die meisten der modernen Javascript-WYSIWYGs getan haben).

In Flash / Silverlight müsste der Entwickler von vorne beginnen und all diese Dinge implementieren. Und es ist schwierig, in diesem Bereich mit Teams bei Microsoft / Mozilla / Opera / etc. Zu konkurrieren.

    
Alan Mendelevich 18.04.2009 06:28
quelle
2

Für Silverlight werfen Sie einen Blick auf diese

Ссылка

    
AnthonyWJones 15.04.2009 11:48
quelle
2

Für AS3 hier ist eine ziemlich gute freie.

Ссылка

    
Jared 18.05.2010 06:52
quelle
1

Technisch gesehen gibt es nichts, was besagt, dass Sie diese Aufgabe nicht ausführen können, da die Mehrheit der grundlegenden RTF-Funktionen - visuell gesehen - vorhanden ist. Es gibt jedoch Einschränkungen, zum Beispiel automatische Bild / Text-Reflow (dh, wenn Sie ein Bild zuweisen und möchten, dass Text um es zu wickeln, ist es ein Fall von Mathe + String + Regex-Manipulation. Nicht einfach.

Sie können Silverlight auch für alles außer dem gerenderten Fenster selbst verwenden (Symbolleisten usw., die mit fehlenden Symbolen helfen und eine endliche Kontrolle über die Ausnahmebehandlung bieten, die JS heute bietet). Dadurch können Sie das WYSIWYG-Fenster (das wirklich die Browser-Rendering-Engine selbst anspricht) und Silverlight für alle anderen Bedürfnisse nutzen.

Wir prüfen, wie wir diese Funktionalität in zukünftigen Versionen aktivieren können, damit es nicht auf taube Ohren stößt.

Produktmanager für Scott Barnes / Rich Platforms / Microsoft.

    
Scott Barnes 02.05.2009 04:12
quelle
1

JavaScript RTEs werden zu einem Webstandard, da contentEditable in der HTML 5 W3-Spezifikation enthalten ist. Die aktuelle Methode für JavaScript-RTEs setzt designMode in den Attribute des Dokuments auf "ein". Das Problem dabei ist, dass das gesamte Dokument editierbar ist. Daher werden die meisten JavaScript-RTEs den Editor über einen iFrame laden, sodass das iFrame-Dokument designMode auf "on" und nicht auf das übergeordnete Dokument setzen kann.

Ein Nachteil der derzeit verfügbaren JavaScript-RTEs ist, wie komplex es ist, die Benutzeroberfläche zum Einfügen von Bildern zu ändern (wenn dies für Sie wichtig ist). Ich persönlich interessiere mich nicht für eine Menge der eingebauten Schnittstellen, aber angeblich, wenn Sie genug Zeit damit verbracht haben, die Dokumentation zu lesen, können Sie sie ändern, wie Sie wollen. Schauen Sie sich zum Beispiel die Insert-Funktion von TinyMCE in ihrer Demo an und starten Sie dann WordPress, um zu sehen, wie es geändert wurde. (WordPress verwendet TinyMCE).

Ich habe keine Tests durchgeführt, aber es fühlt sich einfach an, als würde das Eintippen eines ActionScript-Textes langsamer erscheinen. Ein weiteres Problem, dem ich begegne, ist die Möglichkeit, Bilder hinzuzufügen und sie im Artikel zu verschieben. Sogar in Adobe AIR wird angeblich die WebKit-Rendering-Engine verwendet. Daher habe ich versucht, eine RTE mithilfe von JavaScript zu erstellen. Dies funktioniert im Safari-Browser (verwendet auch WebKit), aber beim Laden über AIR verhält es sich anders.

Insgesamt gibt es nicht viele wirklich gute Lösungen, dies hat viel damit zu tun, dass contentEditable in den meisten Browsern (noch) kein implementierter Standard ist, und für die derzeit verfügbaren RTEs zu komplexe Skripte.

Für JavaScript RTE siehe:

TinyMCE, FCKEditor (CKEditor), YUI 2-Editor, und es gibt einige andere, wenn Sie eigene rollen möchten, suchen Sie nach Tutorials auf execCommand (), die im Grunde die JavaScript-Methode ist, die ausgewählte Elemente ändert oder Elemente in ein contentEditable Region.

Für Flash ... Ich weiß nicht, es gibt nicht viele gute Implementierungen, sogar der Flex Text Editor ist irgendwie einfach und begrenzt. Der Hauptnachteil, und das ist für beide Plattformen, ist, wie einfach es ist, Bilder zu modifizieren und einzufügen, weil einfache Dinge wie Fettschrift oder Kursivschrift einfach gemacht werden können.

    
SomeFunkyDude 06.07.2010 15:04
quelle
1

Der Hauptvorteil eines Javascript-Editors ist, dass Javascript viel mehr Möglichkeiten bietet, um erweiterte HTML-Elemente (Tabellen, horizontale Linien, geordnete Listen und Formularelemente) zu erstellen. Die meisten dieser Editoren werden jedoch mit designmode und contenteditable iframes erstellt. Dies bedeutet, dass die eigentliche Code-Generierung durch den Browser und nicht durch Javascript erfolgt. Jeder Browser erzeugt möglicherweise einen anderen HTML-Code und das kann unerwünscht sein.

Ein Flash-Editor hat weniger Funktionen und benötigt Flash, wäre aber wahrscheinlich die perfekte Lösung für Flash-Websites. Die HTML-Unterschiede in Javascript-Editoren können sehr ärgerlich sein, und Funktionen, die Flash-HTML nicht unterstützt, sollten nicht in diesem Javascript-Editor sein. Flash generiert auch andere Tags, die nicht in HTML verwendet werden, zum Beispiel: Das <textformat> -Tag wird nur in flash-html / htmltext verwendet.

Ich hatte dieses Problem, wo ich keinen Editor finden konnte, der alle möglichen Flash-HTML ohne die Probleme eines Javascript-Editors generiert. So habe ich selbst eine erstellt, die gefunden werden kann bei: Ссылка Es erzeugt flash-html und bei Bedarf auch valides (x) html ohne Unterschied im Browser.

Kurz gesagt, für nicht-flash-basierte Websites würden Sie wahrscheinlich einen Javascript-Editor benötigen, weil er mehr Möglichkeiten bietet. Für Flash-Websites benötigen Sie einen Flash-basierten Rich-Text-Editor, um Flash-HTML-Code mit speziellen Tags wie <textformat>.

zu erzeugen     
Angelo 24.06.2011 11:55
quelle
0

Der Hauptgrund, warum Sie die meisten von ihnen im Web in Javascript finden, ist meistens ökonomisch, die meisten Seiten, die textuelle Benutzereingaben erfordern (wie Blogs, Foren oder Stackoverflow) sind in HTML / Javascript erstellt. Wenn Sie fähige JS-Programmierer haben, die 99% der Website erstellen, sollten Sie einen Flash-Programmierer installieren, um die anderen 1% zu erstellen.

Aber das heißt nicht, dass sie nicht existieren! Eine schnelle Suche auf einer der beliebteren Flash-Sites ergab 3:

RTE1 | RTE2 | RTE3

Und das war nur auf FlashDen. Suchen Sie FlashComponents.net oder UltraShock.com, oder googlen Sie einfach und ich garantiere Ihnen, dass es viele weitere zum Verkauf oder zum kostenlosen Download gibt.

    
Bryan Grezeszak 15.04.2009 14:25
quelle
0

Mindscape erstellt hier einen WYSIWYG Rich Text Editor für Silverlight:

Ссылка

    
traskjd 17.08.2010 01:51
quelle