下面的代码响应 tinyMCE 编辑器工具栏上的按钮单击,并将 <--nextpage--> 标记添加到插入符号位置的源标记中。
这很好用。
但是,在我单击源视图,然后返回视觉之前,无法判断占位符已插入。
一旦我点击文本视图,然后返回所见即所得,我就可以看到 wordpress 插入的所见即所得占位符图形,以表示内容中的 <--nextpage--> 元素。
我注意到,当我单击“插入更多标签”按钮时,WordPress 编辑器会以某种方式更新 tinyMCE 编辑器视图以显示“更多标签”占位符图形(无需用户切换视图)。
也许有一个 execCommand 我可以在下面的函数中调用来做同样的事情?mceRepaint 没有这样做。
(function() {
tinymce.create('tinymce.plugins.nextpage', {
init : function(ed, url) {
ed.addButton('nextpage', {
title : 'Next Page Button',
image : url+'/images/btn_nextpage.png',
onclick : function() {
var prompt_text = "<!--nextpage-->";
var caret = "caret_pos_holder";
var insert = prompt_text + "<span id="+caret+"></span>";
ed.execCommand('mceInsertContent', false, insert);
ed.selection.select(ed.dom.select('span#caret_pos_holder')[0]); //select the span
ed.dom.remove(ed.dom.select('span#caret_pos_holder')[0]); //remove the span
ed.execCommand("mceRepaint"); //DOES NOT REFRESH THE LIVE VIEW
}
});
},
createControl : function(n, cm) {
return null;
},
});
tinymce.PluginManager.add('nextpage', tinymce.plugins.nextpage);
})();
更新:我正在尝试使用 Chrome 的开发工具来跟踪单击 WordPress“插入更多标签”按钮时发生的情况,但它没有向我显示任何内容。我希望公开这些信息,以便在单击该按钮以获得所需结果时可以看到引擎盖下发生了什么。