Das wäre m.E. aber der vernünftigere Weg, als die unerwünschten Zeilen rauszulöschen und den Reststring mit eval() zu verarbeiten.
Möglicherweise. Allerdings muss ich entgegenhalten: Es handelt sich, wie gesagt, um einen Javascript-Browser-wysiwyg-Editor (tinymce) - theoretisch könnte es ja sein, dass auch andere Plugins diese Funktion verändern. Das würde ich ja 'rückgängig machen', wenn ich die Funktion im Nachhinein überschreibe.
Warum schreibst du dir nicht einfach eine Funktion, die die unerwünschte Funktion aufruft und das Ergebnis nach deinen Wünschen nachbehandelt?
Die Funktion gibt keinen Rückgabewert - sie wird bei Veränderungen des Editorinhalts aufgerufen und kontrolliert u.A., ob Buttons (für Schrift- und Absatzformatierung) aktiviert oder deaktiviert dargestellt werden.
Da mein Plugin die Funktion der Ein- und Ausrück-Buttons verändert (bisher per <blockquote>, mit Plugin über margin-left), ändern sich auch die Kriterien dafür, ob sie an- oder ausgeschaltet sind. Daher muss ich die Funktion ändern.
Der eval()-Befehl war genau was ich suchte. Vielen Dank!
Ich gehe jetzt so vor:
func = funktionsname;
func = func.replace (/regEx/, '');
eval (func);
Das klappt wunderbar.
Besten Dank + Gruß,
David