1

同じバージョンの Wicket 7.5.0 と wicketstuff-tinymcr を実行しています。

tinyMce エディターを初期化しようとしていますが、次のエラーが表示されます

ただし、小さなスクリプトが読み込まれます。

http://localhost:8080/mywebapp/wicket/resource/wicket.contrib.tinymce4.TinyMceBehavior/tinymce/tinymce-ver-1481290207000.js

これはロードされているようです:

プラグイン/...

テーマ/...

./tinymce-ver-1481290207000.js

編集

これはそれを処理しました:

addCustomSetting("言語: \"sv_SE\"");

これは、すべてをロードするクラスです。

  import wicket.contrib.tinymce4.settings.TinyMCESettings;

  public class MyTinyMCESettings extends TinyMCESettings {

     public MyTinyMCESettings(TinyMCESettings.Theme theme) {
        super(theme);
        addCustomSetting("plugins: 'autoresize'");
        addCustomSetting("language: \"sv_SE\""); // this works
     }
}

別のもの:

import org.apache.wicket.Component;
import wicket.contrib.tinymce4.TinyMceBehavior;
import wicket.contrib.tinymce4.settings.TinyMCESettings;

public class MyTinyMceBehavior extends TinyMceBehavior {
    public static final String KEY_EVENT = "keyup";
    private Component component;
    private TinyMCESettings settings;

    public MyTinyMceBehavior(TinyMCESettings settings) {
        super(settings);
        this.settings = settings;
    }

    @Override
    protected String getScript(TinyMCESettings.Mode mode, Collection<Component> components) {
        StringBuilder script = new StringBuilder();

        script.append(" tinyMCE.init({")
                .append(settings.toJavaScript(mode, components))
                .append(",onchange_callback : function (ed) {\n" +
                        "  var text = ed.getContent();" +
                        "  $('#" + component.getMarkupId() + "').html(text).trigger('" + KEY_EVENT + "');" +
                        "}")
                .append("});\n");

        return script.toString();
    }

}
4

2 に答える 2

0

機能するコードで編集を行いました。

于 2016-12-19T14:40:25.130 に答える