Willkommen auf dem Portal für Mediengestalter
|
|
|
| Autor |
Nachricht |
Clay
Threadersteller
Dabei seit: 04.12.2006
Ort: München
Alter: 22
Geschlecht:
|
Verfasst Mo 03.03.2008 17:07
Titel WYSIWYG Editor in Flash |
 |
|
Hallo zusammen,
ich soll einen reduzierten WYSIWYG Editor in Flash basteln. Schrifart, Bold, Italic, Kursiv, Hyperlink, mehr nicht.
String wird dann rausgeschickt und von aspx + csharp weiterverbaeitet.
So, jetzt fehlt mir leider der Ansatzpunkt.
Wie kann ich auslesen welcher Textteil markiert wurde? Ist es die richtige rangehensweiße einen string zu spliten um z.b.: aus meinstring, meinsubstring zu extrahieren, diesen dann in <b>meinsubstring</b> umzuwandeln und am ende wieder in meinstring zu dingsen?
hat flex vllt so etwas intigriert?
Vielen Dank schonmal - ihr seid die besten
Zuletzt bearbeitet von Clay am Mo 03.03.2008 17:07, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst Di 04.03.2008 00:22
Titel
|
 |
|
Hilfe bemühen: Für AS 2.0 "Selection" und "replaceSel". AS 3.0 hat, soweit ich weiß, identische Methoden in die TextField-Klasse verlegt.
Also angenommen, man geht es so an, wie du es dir vorstellst (ich würd's auch so machen).
Ich habe mal irgendwo 'nen superguten Word-ähnlichen Editor für Flash gesehen, für lau gab's den auch noch. Frag mich nur nicht, wo.
Zuletzt bearbeitet von therapiekind am Di 04.03.2008 00:23, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
FlamingArt
Dabei seit: 08.06.2006
Ort: Essen
Alter: 30
Geschlecht:
|
Verfasst Di 04.03.2008 07:26
Titel
|
 |
|
@Mein Lieblingsbayer: Schau im Adobe Exchange mal nach "Rich Text" Komponenten. Mit denen kriegst Du den Text schonmal bearbeitet. Und speichern würd ich das einfach als HTML-Text. Geht am unkompliziertesten. Ich hab auf die Weise für die alte Firma 3 WYSIWYG´s gemacht und hat gut geklappt
|
|
| |
|
 |
Clay
Threadersteller
Dabei seit: 04.12.2006
Ort: München
Alter: 22
Geschlecht:
|
Verfasst Di 04.03.2008 11:03
Titel
|
 |
|
Vielen Dank für die schnellen Antworten ihr beiden!
Stimmt, an Adobe Exchange hab ich garnicht gedacht. is auch sehr brauchbar was sich da finden lässt.
Zum selbermachen ist replaceSel n guter tip
Merci eich,
LG, Clay
|
|
| |
|
 |
Clay
Threadersteller
Dabei seit: 04.12.2006
Ort: München
Alter: 22
Geschlecht:
|
Verfasst Mi 05.03.2008 16:31
Titel
|
 |
|
Hallo zusammen,
habe es jetzt geschafft die Grundlegenden Buttons zu erstellen und die auch zum Funktionieren zu bringen.
Bei druck auf den Button "b" wird jetzt der "Beispieltext" zu "<b>Beispieltext</b>"
Sodala.
Jetzt habe ich das Problem das ich auch Tags verschachteln kann: "<b>Beispieltext</b>" kann auch zu "<b>Bei<b>spiel</b>text</b>" gemacht werden.
Das ist natürlich, wie soll ich sagen, unvorteilhaft
Allerdings fehlt mir leider komplett der Ansatz wie man das problem lösen kann -___-
AS:
| Code: |
this.createTextField("wysiwygTextField", this.getNextHighestDepth(), 10, 40, 300, 200);
wysiwygTextField.multiline = true;
wysiwygTextField.wordWrap = true;
wysiwygTextField.border = true;
wysiwygTextField.type = "input";
wysiwygTextField.text = "";
var myformat:TextFormat = new TextFormat();
myformat.font = "Arial";
wysiwygTextField.setTextFormat(myformat);
var Text:String = wysiwygTextField.text;
var SelectionArray:Array = new Array();
var TextWithBoldTags:Array = new Array();
TextWithBoldTags[0] = "Test"
wysiwygTextField.onSetFocus = function(changedField:TextField) {
CheckSelection = setInterval(getSelection, 500);
};
wysiwygTextField.onKillFocus = function(changedField:TextField) {
clearInterval(CheckSelection);
};
wysiwygTextField.onChanged = function(textfield_txt:TextField) {
UpdateText();
};
var ButtonLoader:MovieClipLoader = new MovieClipLoader();
//Button BOLD
var ButtonBold:MovieClip = this.createEmptyMovieClip("ButtonBold", 0);
var ButtonBoldIMG:MovieClip = ButtonBold.createEmptyMovieClip("ButtonBoldIMG", 100);
ButtonLoader.loadClip("buttons/buttonBold.swf", ButtonBoldIMG);
ButtonBoldIMG._x = 10
ButtonBoldIMG._y = 5
ButtonBold.onPress = function():Void {
setTag("<b>","</b>")
}
//Button ITALIC
var ButtonItalic:MovieClip = this.createEmptyMovieClip("ButtonItalic", 10);
var ButtonItalicIMG:MovieClip = ButtonItalic.createEmptyMovieClip("ButtonItalicIMG", 110);
ButtonLoader.loadClip("buttons/buttonItalic.swf", ButtonItalicIMG);
ButtonItalicIMG._x = 50
ButtonItalicIMG._y = 5
ButtonItalic.onPress = function():Void {
setTag("<i>","</i>")
}
//Button UNDERLINE
var ButtonUnderline:MovieClip = this.createEmptyMovieClip("ButtonUnderline", 20);
var ButtonUnderlineIMG:MovieClip = ButtonUnderline.createEmptyMovieClip("ButtonUnderlineIMG", 120);
ButtonLoader.loadClip("buttons/buttonUnderline.swf", ButtonUnderlineIMG);
ButtonUnderlineIMG._x = 90
ButtonUnderlineIMG._y = 5
ButtonUnderline.onPress = function():Void {
setTag("<u>","</u>")
}
function getSelection():Void {
var selectionStart:Number = Selection.getBeginIndex();
var selectionEnd:Number = Selection.getEndIndex();
var selectionText:String = wysiwygTextField.text.substring(selectionStart, selectionEnd);
var popSelectionArray:Object = SelectionArray.pop();
var popSelectionArray:Object = SelectionArray.pop();
var popSelectionArray:Object = SelectionArray.pop();
var pushSelectionArray:Number = SelectionArray.push(selectionStart);
var pushSelectionArray:Number = SelectionArray.push(selectionEnd);
var pushSelectionArray:Number = SelectionArray.push(selectionText);
}
function setTag(a, b) {
var tagOpen:String = a;
var tagClose:String = b;
var selectionStart = SelectionArray[0];
var selectionEnd = SelectionArray[1];
var selectionText = SelectionArray[2].toString();
var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
var isStringAllreadyBoldStart = selectionText.slice(0, 3);
var selectionTextTagClosePosition = selectionText.length-3;
var isStringAllreadyBoldEnd = selectionText.slice(selectionTextTagClosePosition, selectionText.length);
if (SelectionArray[0] == undefined || SelectionArray[2] == "") {
//alert here
} else if (isStringAllreadyBoldStart == tagOpen || isStringAllreadyBoldEnd == tagClose) {
var selectionToUnBold:String = wysiwygTextField.text.substring(selectionStart+3, selectionEnd-4);
wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToUnBold);
UpdateText();
} else {
var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToBold);
UpdateText();
}
}
function UpdateText(selectionToBold) {
var Text:String = wysiwygTextField.text;
wysiwygTextHTMLField.text = Text;
}
|
Hat irgendwer eine Idee?
Vielen Dank für die Hilfe
LG, Clay
Zuletzt bearbeitet von Clay am Mi 05.03.2008 16:33, insgesamt 2-mal bearbeitet
|
|
| |
|
 |
FlamingArt
Dabei seit: 08.06.2006
Ort: Essen
Alter: 30
Geschlecht:
|
Verfasst Mi 05.03.2008 18:29
Titel
|
 |
|
Was genau is dein Problem eigentlich jetzt grad ??
|
|
| |
|
 |
Clay
Threadersteller
Dabei seit: 04.12.2006
Ort: München
Alter: 22
Geschlecht:
|
Verfasst Mi 05.03.2008 18:55
Titel
|
 |
|
| FlamingArt hat geschrieben: | Was genau is dein Problem eigentlich jetzt grad ?? |
Naja ich möchte das ich wenn ich ein "<b>text</b>" hab, das ich nicht das: "<b>t<b>ex<b/>t</b>" daraus machen kann.
Also ich möchte kein bold tag in einem bereitsbestehenden bold tag erlauben.
Zuletzt bearbeitet von Clay am Mi 05.03.2008 18:59, insgesamt 2-mal bearbeitet
|
|
| |
|
 |
pejot
Dabei seit: 16.09.2004
Ort: Luxembourg, Trier, Berlin
Alter: 27
Geschlecht:
|
Verfasst Mi 05.03.2008 19:01
Titel
|
 |
|
Frag’ die Tags mit ’ner Stringfunktion ab.
Zuletzt bearbeitet von pejot am Mi 05.03.2008 19:01, insgesamt 1-mal bearbeitet
|
|
| |
|
 |
| |
|
 |
| Ähnliche Themen |
WYSIWYG Editor
Online Wysiwyg-Editor
MediaWiki 1.6 + WYSIWYG-Editor
Online WYSIWYG-Editor gesucht!
WYSIWYG-Editor für absolute Anfänger
Nicht-Webbasierender Wysiwyg-editor als Java-Application
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|