我正在创建一个 Wordpress 插件,它添加了一个 metabox
就在包含按钮的帖子编辑器下方。该插件还在结束 </body>
的正下方加载了一个 Javascript 文件。标签。
目的
目前,我试图通过插件实现的目标很简单。当用户向编辑器输入内容,然后点击metabox内的按钮时,我想修改编辑器的内容。
JS 代码
最简单的形式:
jQuery(document).ready(function($) {
$('#button').on('click', function(e) {
e.preventDefault();
var editor = tinyMCE.get("content");
editor.setContent(some_content);
});
});
问题
问题是 editor
可变返回 undefined
.
FIREBUG(尝试设置 var editor
时)
wpActiveEditor
:“内容”
editors
: [ ]
activeEditor
: 空
我尝试了什么
我已经尝试了在 Tinymce 的文档和 Stackoverflow 上找到的很多很多东西(还有很多小的调整),但问题仍然存在。
如有任何帮助,我们将不胜感激。
附言。运行我的测试时,内容文本区域是可见的。
最佳答案
当编辑器首次加载并激活“文本”模式时,tinymce 不会被初始化,因此您不能使用 tinyMCE.get()
,这与“视觉”模式相反。
(我没有注意到它实际上在“视觉”模式下工作,因为我一直在“文本”模式下测试它)
因此,需要一个条件语句来首先确定哪个选项卡处于事件状态。我用这个方法解决了我的问题:
function setEditorContent(val) {
var $_editorTextArea = $('#content');
$_editorTextArea.is(':visible') ? $_editorTextArea.val(val) : tinyMCE.get('content').setContent(val);
}
希望这个答案能避免一些麻烦 :)
关于javascript - WP - JS - 获取 Tinymce 编辑器的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678950/