【问题标题】:Wicket 7 with wicketstuff tinymce4 Can't load language带有 wicketstuff tinymce4 的 Wicket 7 无法加载语言
【发布时间】:2016-12-15 12:05:23
【问题描述】:

我正在运行相同版本的 Wicket 7.5.0 和 wicketstuff-tinymcr。

我正在尝试初始化 tinyMce 编辑器,但出现此错误: 加载失败: http://localhost:8080/mywebapp/wicket/resource/wicket.contrib.tinymce4.TinyMceBehavior/tinymce/langs/sv.js

虽然小脚本已加载:

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();
    }

}

【问题讨论】:

    标签: wicket tinymce-4 wicketstuff


    【解决方案1】:

    TinyMCESettings 似乎检测到“SV”语言环境并尝试设置语言:https://github.com/wicketstuff/core/blob/7db920363a8e0254b33b8deccee95688dd922aa5/tinymce4-parent/tinymce4/src/main/java/wicket/contrib/tinymce4/settings/TinyMCESettings.java#L262

    在设置中明确设置为null,它不会尝试加载它。

    【讨论】:

    • 很好,它消除了加载问题。但是,我希望编辑器使用 sv 语言环境(不是英文)。
    【解决方案2】:

    使用有效的代码进行了编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多