2017-06-06 1 views
0

Ich brauche den TinyMCE-Editor, aber ich muss auch in der Lage sein, mathematische Gleichungen und Formeln zu bearbeiten. Ich habe das FMath-Editor-Plugin in meiner TinyMCE-Installation hinzugefügt.Wie bekomme ich MathML/Latex Code vom fMath Editor Plugin für TinyMCE?

Ja es funktioniert und ich kann Gleichungen hinzufügen, aber die Gleichungen erzeugt werden img Tags mit src enthält Blob: http url was bedeutet, das Bild im Browser-Speicher vorhanden ist, und gelöscht wird, sobald der Browser geschlossen wird.

Ja, es gibt ein paar Tricks, wie man etwas mit dem Blob img-Tag mit AJAX macht, aber das Problem ist, ich möchte in der Lage sein, meinen bearbeiteten Text und mathematische Gleichungen in der Datenbank zu speichern.

Ich denke, der beste Ansatz ist, die MathML/Latex-Darstellung der Gleichung in der Datenbank zu speichern. Das Hindernis ist, FMath-Editor hat schlechte Dokumentation, daher weiß ich nicht, wie man diesen generierten MathML/Latex-Code bekommt.

Also wie kann ich das tun, gibt es einige FMath Funktion, getMathML() Code oder so ...?

Das Problem ist heiß, die Plugin-API durch TinyMCE zugreifen?

Antwort

0

Wenn Sie die plugin.min.js für FMath im TinyMCE-Plugins-Ordner überprüfen möchten, wird eine HTML-Seite OnlyEditor.html in den von TinyMCE erstellten iFrame geladen. Diese HTML-Seite enthält Getter-Funktionen wie folgt:

<script type="text/javascript"> 

    var e1 = $("#editor1").mathEditor({ width: 1000, height: 400 }), 
     mathml = null; 

    e1.mathEditor("setSaveCallback", clientSaveMethod); 

    function clientSaveMethod(){ 
     // get info from editor ex: get image 
     console.dir(e1.mathEditor("getMathML", "UNICODE", "true")); 
    } 

    function getMathML(){ 
     return e1.mathEditor("getMathML", "UNICODE", "true"); 
    } 

    function getBlobOrUrl(returnFunc){ 
     return e1.mathEditor("getBlobOrUrl", returnFunc, "UNICODE", "true"); 
    } 

    function setMathML(mathml){ 
     e1.mathEditor("setMathML", mathml); 
    } 

    function getImage(){ 
     return e1.mathEditor("getImage","png"); 
    } 

    function getMathMLToLoad(){ 
     return null; 
    } 

    // autoload used in tinyMCE editor - do not delete 
    if (window.parent !== null && window.parent.getMathMLToLoad !== null) { 
     mathml = window.parent.getMathMLToLoad(); 

     if (mathml !== null) { 
      e1.mathEditor("setMathML", mathml); 
     } 
    } 
</script> 

Also gibt getMathML() die rohe MathML im XML-Format zurück. getImage() gibt die Blob Adresse/Daten des generierten Bildes zurück. Sie können setMathML (mathml) auch verwenden, um den FMath-Editor so einzustellen, dass er Ihre spezifische Formel lädt.

1

ich benutzerdefinierte Plug-Lösung entwickelt haben, nehmen Sie bitte einen Blick: https://github.com/Axel186/mathsymbols-tinymce-plugin

Es verwendet Mathjax die Schriftart zu machen. Es ist kostenlos und hat MIT-Lizenz.

Werfen Sie einen Blick auf meine anderen Plugins, möglicherweise möchten Sie einige Diagramme oder Grafiken mithilfe von mathematischen Funktionen generieren.

Verwandte Themen