我想尝试从外部源加载样式格式,就像我为link_list做的那样。不幸的是,它对link_list的工作方式不适用于style_formats。我尝试了多种解决方案,如下所示。我怎样才能做到这一点?除了直接更改选项外,似乎没有任何作用。如果我粘贴我的回复它是有效的,所以我的语法是正确的。请,任何帮助或方向,我应该看起来将是非常有帮助的! 以下是我尝试获取和处理响应的一些内容;
Directly paste link, exactly the same as for link_list
$.getJSON
var stylesFormats = JSON.stringify(jqXHR.responseText);
var stylesFormats = JSON.stringify(data);
var stylesFormats = data;
var stylesFormats = jqXHR.responseText;
var stylesFormats = $.parseJSON(data);
var stylesFormats = $.parseJSON(jqXHR.responseText);
Ajax; No encoded response, no datatype
var stylesFormats = result;
var stylesFormats = JSON.stringify(result);
var stylesFormats = $.parseJSON(result);
Ajax; No encoded response, script datatype
var stylesFormats = result;
var stylesFormats = JSON.stringify(result);
var stylesFormats = $.parseJSON(result);
Ajax; json encoded response, script datatype
var stylesFormats = result;
var stylesFormats = JSON.stringify(result);
var stylesFormats = $.parseJSON(result);
Ajax; json encoded response, html datatype
var stylesFormats = result;
var stylesFormats = JSON.stringify(result);
var stylesFormats = $.parseJSON(result);
Ajax: header as javascript, no encoded response, no datatype
var stylesFormats = result;
var stylesFormats = JSON.stringify(result);
var stylesFormats = $.parseJSON(result);
我还在tinymce论坛上提出了一个话题,但在没有回复之后我觉得我在这里试过运气。可以找到tinymce帖子here。
答案 0 :(得分:1)
可悲的是,这似乎不可能。让编辑器尊重新样式设置的唯一方法是在加载时重新创建它,这是非常低效的。它适用于link_list,因为该对话框在加载时重建,但style_settings仅在初始化时使用。你唯一真正的选择是首先加载所有样式,然后初始化tinymce。
答案 1 :(得分:1)
tinymce不会将style_formats视为Promise。
解决这个问题的最简单方法是将tinymce.init
调用放入getJSON的成功回调中。
$.getJSON(...url, data...
).done(function(style_formats) {
tinymce.init({
style_formats: style_formats
...other settings...
});
});
替代方案是走所有编辑器并更新格式化程序和ui元素......