高科技*_*技黑手 10 javascript jquery tinymce-4
正如标题所说,我查阅了官方文档,但它没有工作; 这是我的JavaScript(利用jQuery)代码:
$(document).ready(function() {
tinymce.init({
element_format: "html",
schema: "html4",
menubar: false,
plugins: 'preview textcolor link code',
selector: 'TEXTAREA#rtf',
toolbar: 'preview | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | blockquote subscript superscript | code'
});
tinymce.activeEditor.setContent($('TEXTAREA#rtf').text());
});
Run Code Online (Sandbox Code Playgroud)
(咳嗽)不知何故,在我将所有东西恢复到我现在开始的位置后,它可以工作:
$(document).ready(function() {
tinymce.init({
element_format: "html",
menubar: false,
plugins: 'preview textcolor link code',
schema: "html4",
selector: 'TEXTAREA#rtf',
toolbar: 'preview | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | blockquote subscript superscript | code'
});
});
Run Code Online (Sandbox Code Playgroud)
我怀疑这是由于UA缓存或XSLT转换结果缓存引起的问题; 感谢你的宝贵时间!
小智 6
这就是我实现它的方式:
setTimeout(tinyMCE.init({
selector: "textarea.edit_notes",
height: editor_height,
theme: "modern",
menubar: "tools table format view insert edit",
force_br_newlines : false,
force_p_newlines : false,
forced_root_block : '',
//plugins: "fullpage",
valid_elements : '*[*]',
setup: function(ed){
ed.on("init",
function(ed) {
tinyMCE.get('testeditor').setContent($('#testeditor').val());
tinyMCE.execCommand('mceRepaint');
}
);
}
}), 50);
Run Code Online (Sandbox Code Playgroud)
试一试
tinymce.activeEditor.setContent('<span>some</span> html');
Run Code Online (Sandbox Code Playgroud)
https://www.tinymce.com/docs/api/tinymce/tinymce.editor/#setcontent
我发现了更好的解决方案,该解决方案可以在代码中的任何地方使用(并且与setTimeout技巧不同,它不是hack)
tinymce.get('tinymce-element-id').on('init',function(e) {
e.target.setContent('my custom content');
});
Run Code Online (Sandbox Code Playgroud)
该线程使我走上了正确的道路,因此我想与v4分享我的解决方案
tinymce.init({
...,
init_instance_callback:function(editor){
editor.setContent(__YOUR_CONTENT__);
}
});
Run Code Online (Sandbox Code Playgroud)
小智 0
一旦文档处于就绪状态,此代码就会运行,因此,tinymce 唯一要做的就是在 textarea 有内容之前设置内容。一个问题是文本区域中的内容在何处以及如何设置?
其次你可以放入tinyMCE.init({ .... });setTimeOut。
希望这可以帮助。